From 2027c8ee1fb9c47d11995ac842cb924e938589b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Fri, 14 May 2021 13:40:08 +0200 Subject: [PATCH] explorer: Create systray for the null graphics driver. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: RĂ©mi Bernon Signed-off-by: Alexandre Julliard --- programs/explorer/desktop.c | 22 +++++++++------------- programs/explorer/systray.c | 2 +- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/programs/explorer/desktop.c b/programs/explorer/desktop.c index 51d1535aea6..2ba276f52cb 100644 --- a/programs/explorer/desktop.c +++ b/programs/explorer/desktop.c @@ -959,6 +959,7 @@ void manage_desktop( WCHAR *arg ) const WCHAR *name = NULL; BOOL enable_shell = FALSE; void (WINAPI *pShellDDEInit)( BOOL ) = NULL; + HMODULE shell32; /* get the rest of the command line (if any) */ while (*p && !is_whitespace(*p)) p++; @@ -1028,20 +1029,15 @@ void manage_desktop( WCHAR *arg ) initialize_display_settings(); initialize_appbar(); - if (graphics_driver) + if (using_root) enable_shell = FALSE; + + initialize_systray( graphics_driver, using_root, enable_shell ); + if (!using_root) initialize_launchers( hwnd ); + + if ((shell32 = LoadLibraryW( L"shell32.dll" )) && + (pShellDDEInit = (void *)GetProcAddress( shell32, (LPCSTR)188))) { - HMODULE shell32; - - if (using_root) enable_shell = FALSE; - - initialize_systray( graphics_driver, using_root, enable_shell ); - if (!using_root) initialize_launchers( hwnd ); - - if ((shell32 = LoadLibraryW( L"shell32.dll" )) && - (pShellDDEInit = (void *)GetProcAddress( shell32, (LPCSTR)188))) - { - pShellDDEInit( TRUE ); - } + pShellDDEInit( TRUE ); } } diff --git a/programs/explorer/systray.c b/programs/explorer/systray.c index 161b4b57e58..0c978451151 100644 --- a/programs/explorer/systray.c +++ b/programs/explorer/systray.c @@ -900,7 +900,7 @@ void initialize_systray( HMODULE graphics_driver, BOOL using_root, BOOL arg_enab WNDCLASSEXW class; static const WCHAR classname[] = {'S','h','e','l','l','_','T','r','a','y','W','n','d',0}; - if (using_root) wine_notify_icon = (void *)GetProcAddress( graphics_driver, "wine_notify_icon" ); + if (using_root && graphics_driver) wine_notify_icon = (void *)GetProcAddress( graphics_driver, "wine_notify_icon" ); icon_cx = GetSystemMetrics( SM_CXSMICON ) + 2*ICON_BORDER; icon_cy = GetSystemMetrics( SM_CYSMICON ) + 2*ICON_BORDER;