Alexandre Julliard : kernel32: Forward interrupts in 32-bit code to winedos too.

Alexandre Julliard julliard at winehq.org
Thu Dec 20 06:21:55 CST 2007


Module: wine
Branch: master
Commit: e2a366ce338d5b6b0f3c8962d70134f8d4e87f3b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e2a366ce338d5b6b0f3c8962d70134f8d4e87f3b

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Dec 20 12:18:19 2007 +0100

kernel32: Forward interrupts in 32-bit code to winedos too.

---

 dlls/kernel32/instr.c     |    1 -
 dlls/winedos/interrupts.c |    4 ++++
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/dlls/kernel32/instr.c b/dlls/kernel32/instr.c
index f9b99c8..97a1d14 100644
--- a/dlls/kernel32/instr.c
+++ b/dlls/kernel32/instr.c
@@ -769,7 +769,6 @@ DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT86 *context )
             break;  /* Unable to emulate it */
 
         case 0xcd: /* int <XX> */
-            if (wine_ldt_is_system(context->SegCs)) break;  /* don't emulate it in 32-bit code */
             if (!winedos.EmulateInterruptPM) load_winedos();
             if (winedos.EmulateInterruptPM)
             {
diff --git a/dlls/winedos/interrupts.c b/dlls/winedos/interrupts.c
index 37d7a4b..b482ab0 100644
--- a/dlls/winedos/interrupts.c
+++ b/dlls/winedos/interrupts.c
@@ -324,6 +324,10 @@ void WINAPI DOSVM_EmulateInterruptPM( CONTEXT86 *context, BYTE intnum )
                               DOSVM_IntProcRelay, 
                               DOSVM_GetBuiltinHandler(intnum) );
     }
+    else if (wine_ldt_is_system(context->SegCs))
+    {
+        DOSVM_CallBuiltinHandler( context, intnum );
+    }
     else
     {
         DOSVM_HardwareInterruptPM( context, intnum );




More information about the wine-cvs mailing list