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