Author: gadamopoulos
Date: Thu Nov 21 11:28:53 2013
New Revision: 61064

URL: http://svn.reactos.org/svn/reactos?rev=61064&view=rev
Log:
[explorer_new]
- call ShellDDEInit, FileIconInit and WinList_Init while initializing
- Calling ShellDDEInit fixes cases like pressing Explore in a folder context 
menu from a file open dialog (before this it just hanged)
- We also need to call FileIconInit in order to initialize the shell icons 
properly. Before this Shell_GetImageLists called FileIconInit in case it was 
not called
- Calling WinList_Init should make CLSID_ShellWindows work but it fails for 
now. CLSID_ShellWindows is needed in cases like opening a second time My 
computer from desktop should activates the existing My computer window and it 
is also needed for SHOpenFolderAndSelectItems in order to work

Modified:
    trunk/reactos/base/shell/explorer-new/explorer.c
    trunk/reactos/include/psdk/shlobj_undoc.h

Modified: trunk/reactos/base/shell/explorer-new/explorer.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer-new/explorer.c?rev=61064&r1=61063&r2=61064&view=diff
==============================================================================
--- trunk/reactos/base/shell/explorer-new/explorer.c    [iso-8859-1] (original)
+++ trunk/reactos/base/shell/explorer-new/explorer.c    [iso-8859-1] Thu Nov 21 
11:28:53 2013
@@ -410,6 +410,15 @@
 
     if (CreateShellDesktop)
     {
+        /* Initialize shell dde support */
+        ShellDDEInit(TRUE);
+
+        /* Initialize shell icons */
+        FileIconInit(TRUE);
+
+        /* Initialize CLSID_ShellWindows class */
+        WinList_Init();
+
         if (RegisterTrayWindowClass() && RegisterTaskSwitchWndClass())
         {
             Tray = CreateTrayWindow();

Modified: trunk/reactos/include/psdk/shlobj_undoc.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/shlobj_undoc.h?rev=61064&r1=61063&r2=61064&view=diff
==============================================================================
--- trunk/reactos/include/psdk/shlobj_undoc.h   [iso-8859-1] (original)
+++ trunk/reactos/include/psdk/shlobj_undoc.h   [iso-8859-1] Thu Nov 21 
11:28:53 2013
@@ -754,6 +754,10 @@
 #define ILGDN_FORPARSING  0
 #define ILGDN_NORMAL      1
 #define ILGDN_INFOLDER    2
+
+BOOL WINAPI FileIconInit(BOOL bFullInit);
+void WINAPI ShellDDEInit(BOOL bInit);
+DWORD WINAPI WinList_Init(void);
 
 HANDLE WINAPI SHCreateDesktop(IShellDesktopTray*);
 BOOL WINAPI SHDesktopMessageLoop(HANDLE);


Reply via email to