Alexandre Julliard : kernel32: Forward interrupts in 32-bit code to winedos too.
Module: wine Branch: master Commit: e2a366ce338d5b6b0f3c8962d70134f8d4e87f3b URL: http://source.winehq.org/git/wine.git/?a=commit;h=e2a366ce338d5b6b0f3c8962d7... Author: Alexandre Julliard <julliard(a)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 );
participants (1)
-
Alexandre Julliard