Author: dquintana Date: Wed Mar 12 12:34:44 2014 New Revision: 62483
URL: http://svn.reactos.org/svn/reactos?rev=62483&view=rev Log: [SHELL32] * SHGetImageList should not return a duplicated ImageList. In Windows the pointers returned by Shell_GetImageLists match the pointers returned by SHGetImageList for SHIL_SMALL and SHIL_LARGE.
[RSHELL] * Remove two obsolete debug prints.
Modified: branches/shell-experiments/base/shell/rshell/CStartMenu.cpp branches/shell-experiments/dll/win32/shell32/shellord.cpp
Modified: branches/shell-experiments/base/shell/rshell/CStartMenu.cpp URL: http://svn.reactos.org/svn/reactos/branches/shell-experiments/base/shell/rsh... ============================================================================== --- branches/shell-experiments/base/shell/rshell/CStartMenu.cpp [iso-8859-1] (original) +++ branches/shell-experiments/base/shell/rshell/CStartMenu.cpp [iso-8859-1] Wed Mar 12 12:34:44 2014 @@ -267,10 +267,8 @@ case SMC_GETOBJECT: return OnGetObject(psmd, *reinterpret_cast<IID *>(wParam), reinterpret_cast<void **>(lParam)); case SMC_EXEC: - DbgPrint("SMC_EXEC\n"); return OnExec(psmd); case SMC_SFEXEC: - DbgPrint("SMC_SFEXEC\n"); m_pTrayPriv->Execute(psmd->psf, psmd->pidlItem); break; }
Modified: branches/shell-experiments/dll/win32/shell32/shellord.cpp URL: http://svn.reactos.org/svn/reactos/branches/shell-experiments/dll/win32/shel... ============================================================================== --- branches/shell-experiments/dll/win32/shell32/shellord.cpp [iso-8859-1] (original) +++ branches/shell-experiments/dll/win32/shell32/shellord.cpp [iso-8859-1] Wed Mar 12 12:34:44 2014 @@ -2265,7 +2265,10 @@ }
Shell_GetImageLists(&hLarge, &hSmall); - hNew = ImageList_Duplicate(iImageList == SHIL_LARGE ? hLarge : hSmall); + + // Duplicating the imagelist causes the start menu items not to draw on the first show. + // Was the Duplicate necessary for some reason? I believe Windows returns the raw pointer here. + hNew = /*ImageList_Duplicate*/(iImageList == SHIL_LARGE ? hLarge : hSmall);
/* Get the interface for the new image list */ if (hNew)