Alexandre Julliard : explorer.exe: Mark explorer as a system process.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Jun 7 07:20:15 CDT 2007


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Jun  6 20:33:22 2007 +0200

explorer.exe: Mark explorer as a system process.

---

 programs/explorer/desktop.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/programs/explorer/desktop.c b/programs/explorer/desktop.c
index 0846dcd..7f2e23f 100644
--- a/programs/explorer/desktop.c
+++ b/programs/explorer/desktop.c
@@ -31,6 +31,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(explorer);
 #define DESKTOP_CLASS_ATOM ((LPCWSTR)MAKEINTATOM(32769))
 #define DESKTOP_ALL_ACCESS 0x01ff
 
+extern HANDLE __wine_make_process_system(void);
+
 static BOOL using_root;
 
 /* window procedure for the desktop window */
@@ -198,6 +200,10 @@ void manage_desktop( char *arg )
     /* run the desktop message loop */
     if (hwnd)
     {
+        /* we don't use the system process event, the server
+         * posts a WM_CLOSE when the last desktop user is gone */
+        CloseHandle( __wine_make_process_system() );
+
         WINE_TRACE( "desktop message loop starting on hwnd %p\n", hwnd );
         while (GetMessageW( &msg, 0, 0, 0 )) DispatchMessageW( &msg );
         WINE_TRACE( "desktop message loop exiting for hwnd %p\n", hwnd );




More information about the wine-cvs mailing list