[3/3] explorer: Mark shell desktops as permanent.

Vincent Povirk madewokherd at gmail.com
Thu Jan 9 15:38:25 CST 2014


-------------- next part --------------
From 7eebd5935ab3bf24427b1fc94da7d52ae0c001e4 Mon Sep 17 00:00:00 2001
From: Vincent Povirk <vincent at codeweavers.com>
Date: Thu, 9 Jan 2014 15:14:55 -0600
Subject: [PATCH 3/4] explorer: Mark shell desktops as permanent.

---
 programs/explorer/desktop.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/programs/explorer/desktop.c b/programs/explorer/desktop.c
index db6a355..457046b 100644
--- a/programs/explorer/desktop.c
+++ b/programs/explorer/desktop.c
@@ -792,6 +792,18 @@ static void set_desktop_window_title( HWND hwnd, const WCHAR *name )
     HeapFree( GetProcessHeap(), 0, window_titleW );
 }
 
+static void make_desktop_permanent(HDESK desktop)
+{
+    BOOL (*CDECL __wine_make_desktop_permanent)(HDESK desktop) = NULL;
+
+    __wine_make_desktop_permanent = (void*)GetProcAddress(
+        GetModuleHandleA("user32"),
+        "__wine_make_desktop_permanent");
+
+    if (__wine_make_desktop_permanent != NULL)
+        __wine_make_desktop_permanent(desktop);
+}
+
 /* main desktop management function */
 void manage_desktop( WCHAR *arg )
 {
@@ -889,6 +901,9 @@ void manage_desktop( WCHAR *arg )
             {
                 pShellDDEInit( TRUE );
             }
+
+            if (enable_shell)
+                make_desktop_permanent( desktop );
         }
     }
     else
-- 
1.8.1.2



More information about the wine-patches mailing list