winedos / Fix entering DPMI

Jukka Heinonen jhei at iki.fi
Sun Sep 21 11:40:12 CDT 2003


After this regression fix, DOS emulation seems to work
again. Previously DPMI mode could not be entered because
V86 flag was on and vm86 emulation was called instead
of protected mode procedure.

In principle, DPMI_CallRMCBProc has this same bug but
since that function is broken for other reasons,
fixing flag handling would have no real effect.




Changelog:
  When entering protected mode, V86 flag must be clear.




Index: dlls/winedos/int31.c
===================================================================
RCS file: /home/wine/wine/dlls/winedos/int31.c,v
retrieving revision 1.34
diff -u -r1.34 int31.c
--- dlls/winedos/int31.c	5 Sep 2003 23:08:28 -0000	1.34
+++ dlls/winedos/int31.c	21 Sep 2003 16:34:26 -0000
@@ -592,6 +592,7 @@
     pm_ctx.SegEs = es;
     pm_ctx.SegFs = 0;
     pm_ctx.SegGs = 0;
+    pm_ctx.EFlags &= ~V86_FLAG;
 
     TRACE("DOS program is now entering %d-bit protected mode\n", 
           DOSVM_IsDos32() ? 32 : 16);

 



-- 
Jukka Heinonen <http://www.iki.fi/jhei/>



More information about the wine-patches mailing list