From ddb713653b329f72e4b91beffef60e72c8a61574 Mon Sep 17 00:00:00 2001 From: Ralf Habacker Date: Tue, 27 Nov 2018 10:37:43 +0100 Subject: [PATCH] explorer: Fix atom leaks caused by not releasing DDE interface. Signed-off-by: Ralf Habacker Signed-off-by: Alexandre Julliard --- programs/explorer/desktop.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/programs/explorer/desktop.c b/programs/explorer/desktop.c index d802bc34656..27b9b249012 100644 --- a/programs/explorer/desktop.c +++ b/programs/explorer/desktop.c @@ -921,6 +921,7 @@ void manage_desktop( WCHAR *arg ) WCHAR *p = arg; const WCHAR *name = NULL; BOOL enable_shell = FALSE; + void (WINAPI *pShellDDEInit)( BOOL ) = NULL; /* get the rest of the command line (if any) */ while (*p && !is_whitespace(*p)) p++; @@ -993,7 +994,6 @@ void manage_desktop( WCHAR *arg ) if (graphics_driver) { HMODULE shell32; - void (WINAPI *pShellDDEInit)( BOOL ); if (using_root) enable_shell = FALSE; @@ -1035,6 +1035,8 @@ void manage_desktop( WCHAR *arg ) WINE_TRACE( "desktop message loop exiting for hwnd %p\n", hwnd ); } + if (pShellDDEInit) pShellDDEInit( FALSE ); + ExitProcess( 0 ); }