[1/2] explorer: initialize COM

Damjan Jovanovic damjan.jov at gmail.com
Thu May 12 15:22:17 CDT 2011


Changelog:
* explorer: initialize COM

Needed for the upcoming DDE patch to be able to create LNK files.

Damjan Jovanovic
-------------- next part --------------
diff --git a/programs/explorer/Makefile.in b/programs/explorer/Makefile.in
index 5537bc4..5465e45 100644
--- a/programs/explorer/Makefile.in
+++ b/programs/explorer/Makefile.in
@@ -1,7 +1,7 @@
 EXTRADEFS = -DWINE_NO_UNICODE_MACROS
 MODULE    = explorer.exe
 APPMODE   = -mwindows -municode
-IMPORTS   = rpcrt4 user32 gdi32 advapi32
+IMPORTS   = rpcrt4 user32 gdi32 advapi32 ole32
 DELAYIMPORTS = comctl32
 
 C_SRCS = \
diff --git a/programs/explorer/desktop.c b/programs/explorer/desktop.c
index b2f7730..67687de 100644
--- a/programs/explorer/desktop.c
+++ b/programs/explorer/desktop.c
@@ -329,6 +329,7 @@ void manage_desktop( WCHAR *arg )
         HMODULE shell32;
         void (WINAPI *pShellDDEInit)( BOOL );
 
+        CoInitialize(NULL);
         SetWindowLongPtrW( hwnd, GWLP_WNDPROC, (LONG_PTR)desktop_wnd_proc );
         SendMessageW( hwnd, WM_SETICON, ICON_BIG, (LPARAM)LoadIconW( 0, MAKEINTRESOURCEW(OIC_WINLOGO)));
         if (name) set_desktop_window_title( hwnd, name );
@@ -375,6 +376,7 @@ void manage_desktop( WCHAR *arg )
         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 );
+        CoUninitialize();
     }
 
     ExitProcess( 0 );


More information about the wine-patches mailing list