Alexandre Julliard : kernel32: Move shared heap creation to krnl386 and load it by default on Win9x versions .

Alexandre Julliard julliard at winehq.org
Mon Mar 1 09:27:35 CST 2010


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Mar  1 11:34:34 2010 +0100

kernel32: Move shared heap creation to krnl386 and load it by default on Win9x versions.

---

 dlls/kernel32/kernel_main.c |    8 +-------
 dlls/krnl386.exe16/kernel.c |    3 +++
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/dlls/kernel32/kernel_main.c b/dlls/kernel32/kernel_main.c
index cf73052..2308d60 100644
--- a/dlls/kernel32/kernel_main.c
+++ b/dlls/kernel32/kernel_main.c
@@ -123,13 +123,7 @@ static BOOL process_attach( HMODULE module )
         /* Securom checks for this one when version is NT */
         set_entry_point( module, "FT_Thunk", 0 );
     }
-#ifdef __i386__
-    else
-    {
-        /* create the shared heap for broken win95 native dlls */
-        HeapCreate( HEAP_SHARED, 0, 0 );
-    }
-#endif
+    else LoadLibraryA( "krnl386.exe16" );
 
     /* finish the process initialisation for console bits, if needed */
     __wine_set_signal_handler(SIGINT, CONSOLE_HandleCtrlC);
diff --git a/dlls/krnl386.exe16/kernel.c b/dlls/krnl386.exe16/kernel.c
index b6fbbcb..7658549 100644
--- a/dlls/krnl386.exe16/kernel.c
+++ b/dlls/krnl386.exe16/kernel.c
@@ -95,6 +95,9 @@ BOOL WINAPI KERNEL_DllEntryPoint( DWORD reasion, HINSTANCE16 inst, WORD ds,
     if (done) return TRUE;
     done = 1;
 
+    /* create the shared heap for broken win95 native dlls */
+    HeapCreate( HEAP_SHARED, 0, 0 );
+
     /* setup emulation of protected instructions from 32-bit code */
     if (GetVersion() & 0x80000000) RtlAddVectoredExceptionHandler( TRUE, INSTR_vectored_handler );
 




More information about the wine-cvs mailing list