Alexandre Julliard : user32: Always start the 64-bit version of wineboot. exe on Wow64.

Alexandre Julliard julliard at winehq.org
Mon Mar 29 09:57:58 CDT 2010


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Mar 29 15:48:25 2010 +0200

user32: Always start the 64-bit version of wineboot.exe on Wow64.

---

 dlls/user32/user_main.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/dlls/user32/user_main.c b/dlls/user32/user_main.c
index 19482e4..2c2b256 100644
--- a/dlls/user32/user_main.c
+++ b/dlls/user32/user_main.c
@@ -357,6 +357,7 @@ BOOL WINAPI ExitWindowsEx( UINT flags, DWORD reason )
     WCHAR cmdline[MAX_PATH + 64];
     PROCESS_INFORMATION pi;
     STARTUPINFOW si;
+    void *redir;
 
     GetSystemDirectoryW( app, MAX_PATH - sizeof(winebootW)/sizeof(WCHAR) );
     strcatW( app, winebootW );
@@ -372,11 +373,14 @@ BOOL WINAPI ExitWindowsEx( UINT flags, DWORD reason )
 
     memset( &si, 0, sizeof si );
     si.cb = sizeof si;
+    Wow64DisableWow64FsRedirection( &redir );
     if (!CreateProcessW( app, cmdline, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &si, &pi ))
     {
+        Wow64RevertWow64FsRedirection( redir );
         ERR( "Failed to run %s\n", debugstr_w(cmdline) );
         return FALSE;
     }
+    Wow64RevertWow64FsRedirection( redir );
     CloseHandle( pi.hProcess );
     CloseHandle( pi.hThread );
     return TRUE;




More information about the wine-cvs mailing list