Module: wine Branch: master Commit: d45450deaf72c68738b2740d9d4e7ff0f44e801e URL: http://source.winehq.org/git/wine.git/?a=commit;h=d45450deaf72c68738b2740d9d...
Author: Alexandre Julliard julliard@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 );