Author: mjansen
Date: Tue Dec 6 21:18:17 2016
New Revision: 73434
URL:
http://svn.reactos.org/svn/reactos?rev=73434&view=rev
Log:
[SHELL32] Don't call CoInitialize in DllMain, bad things happen when calling into
dll's that are being loaded! CORE-12443 #comment Please retest!
Modified:
trunk/reactos/dll/win32/shell32/folders.cpp
trunk/reactos/dll/win32/shell32/shell32.cpp
trunk/reactos/dll/win32/shell32/wine/shell32_main.h
Modified: trunk/reactos/dll/win32/shell32/folders.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders.…
==============================================================================
--- trunk/reactos/dll/win32/shell32/folders.cpp [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/folders.cpp [iso-8859-1] Tue Dec 6 21:18:17 2016
@@ -87,7 +87,7 @@
return S_OK;
}
-void InitIconOverlays(void)
+static void InitIconOverlays(void)
{
HKEY hKey;
DWORD dwIndex, dwResult, dwSize;
@@ -161,6 +161,8 @@
if(!SHGetPathFromIDListW(pidl, szPath))
return FALSE;
+ if (!Handlers)
+ InitIconOverlays();
HighestPriority = 101;
IconIndex = NumIconOverlayHandlers;
Modified: trunk/reactos/dll/win32/shell32/shell32.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shell32.…
==============================================================================
--- trunk/reactos/dll/win32/shell32/shell32.cpp [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/shell32.cpp [iso-8859-1] Tue Dec 6 21:18:17 2016
@@ -307,9 +307,9 @@
InitCtrls.dwICC = ICC_WIN95_CLASSES | ICC_DATE_CLASSES | ICC_USEREX_CLASSES;
InitCommonControlsEx(&InitCtrls);
+ /* Bad idea, initialization in DllMain! */
SIC_Initialize();
InitChangeNotifications();
- InitIconOverlays();
}
else if (dwReason == DLL_PROCESS_DETACH)
{
Modified: trunk/reactos/dll/win32/shell32/wine/shell32_main.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/wine/she…
==============================================================================
--- trunk/reactos/dll/win32/shell32/wine/shell32_main.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/wine/shell32_main.h [iso-8859-1] Tue Dec 6 21:18:17
2016
@@ -109,7 +109,6 @@
/* Change Notification */
void InitChangeNotifications(void) DECLSPEC_HIDDEN;
void FreeChangeNotifications(void) DECLSPEC_HIDDEN;
-void InitIconOverlays(void);
/* file operation */
#define ASK_DELETE_FILE 1