Petr Tesarik : winedos:
Clear TF bit before passing control to a VM86 interrupt handler.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Mar 27 05:29:11 CST 2006
Module: wine
Branch: refs/heads/master
Commit: 404eadc7751a4a232dc16d2eedbd17163e4dd654
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=404eadc7751a4a232dc16d2eedbd17163e4dd654
Author: Petr Tesarik <hat at tesarici.cz>
Date: Mon Mar 27 10:15:29 2006 +0200
winedos: Clear TF bit before passing control to a VM86 interrupt handler.
---
dlls/winedos/dosexe.h | 1 +
dlls/winedos/interrupts.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/winedos/dosexe.h b/dlls/winedos/dosexe.h
index 1aba889..ffb62d8 100644
--- a/dlls/winedos/dosexe.h
+++ b/dlls/winedos/dosexe.h
@@ -98,6 +98,7 @@ extern struct DPMI_segments *DOSVM_dpmi_
* IF_MASK is only pushed into real mode stack.
*/
#define V86_FLAG 0x00020000
+#define TF_MASK 0x00000100
#define IF_MASK 0x00000200
#define VIF_MASK 0x00080000
#define VIP_MASK 0x00100000
diff --git a/dlls/winedos/interrupts.c b/dlls/winedos/interrupts.c
index 49c2dfc..83c215f 100644
--- a/dlls/winedos/interrupts.c
+++ b/dlls/winedos/interrupts.c
@@ -514,8 +514,8 @@ void DOSVM_HardwareInterruptRM( CONTEXT8
context->SegCs = SELECTOROF( handler );
context->Eip = OFFSETOF( handler );
- /* Clear virtual interrupt flag. */
- context->EFlags &= ~VIF_MASK;
+ /* Clear virtual interrupt flag and trap flag. */
+ context->EFlags &= ~(VIF_MASK | TF_MASK);
}
}
More information about the wine-cvs
mailing list