Re: [AD] DirectDraw - create_sub_bitmap() or save_bitmap() faulty ?

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


> >EDI=00000000 looks suspicious. Could you try the attached patch? It only
> >pertains to fullscreen DirectX mode.
>
> Good - adding the pushal/popal fixes the bug.

Ok. Now pushal/popal is a big hammer so I'd like to refine the patch a bit. 
Moreover, on second thought, %edi may not be the problem since it's a 
call-saved register according to the x86 ABI. 

> Do you need me to test the equivalent patch for other modes?

Could you try first the modified patch (after reverting the previous one)? 
Thanks in advance.

-- 
Eric Botcazou
--- /home/eric/cvs/allegro/src/win/asmlock.s	Sat Sep  7 21:53:42 2002
+++ allegro/src/win/asmlock.s	Mon Apr  7 10:35:36 2003
@@ -38,8 +38,10 @@ FUNC (gfx_directx_write_bank)
       pushl %ecx
       pushl %eax
       pushl %edx
+      pushl %edx  /* argument */
       call *GLOBL(ptr_gfx_directx_autolock)
       popl %edx
+      popl %edx
       popl %eax
       popl %ecx
 
@@ -65,8 +67,10 @@ FUNC (gfx_directx_unwrite_bank)
       pushl %ecx
       pushl %eax
       pushl %edx
+      pushl %edx  /* argument */
       call *GLOBL(ptr_gfx_directx_unlock)
       popl %edx
+      popl %edx
       popl %eax
       popl %ecx
 


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/