int31 get descriptor should return correct segment limit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This was diff'd from winex cvs, but it should apply fine to winehq cvs (after 
looking briefly at cvs.winehq.com). Fixes a crash in an old win16 game.

Changelog:
   * 'get descriptor' in the int31 handler should return the correct segment 
limit to the program.

David Hammerton
david@transgaming.com

-- 
David Hammerton
programmer
TransGaming Technologies Inc.
http://www.transgaming.com/
david@transgaming.com
Index: msdos/dpmi.c
===================================================================
RCS file: /cvsroot/winex/wine/msdos/dpmi.c,v
retrieving revision 1.1.1.12
diff -u -3 -p -r1.1.1.12 dpmi.c
--- msdos/dpmi.c	31 Dec 2001 10:51:58 -0000	1.1.1.12
+++ msdos/dpmi.c	14 Oct 2002 16:57:29 -0000
@@ -314,6 +314,7 @@ void WINAPI INT_Int31Handler( CONTEXT86 
     	TRACE("get descriptor (0x%04x)\n",BX_reg(context));
         {
             LDT_ENTRY entry;
+            wine_ldt_get_entry( LOWORD(context->Ebx), &entry);
             wine_ldt_set_base( &entry, (void*)W32S_WINE2APP(wine_ldt_get_base(&entry)) );
             /* FIXME: should use ES:EDI for 32-bit clients */
             *(LDT_ENTRY *)MapSL( MAKESEGPTR( context->SegEs, LOWORD(context->Edi) )) = entry;

[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux