[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.

svn path=/branches/shell-experiments/; revision=62483
This commit is contained in:
David Quintana 2014-03-12 12:34:44 +00:00
parent 905eb2bdce
commit 487cfe837d
2 changed files with 4 additions and 3 deletions

View file

@ -267,10 +267,8 @@ public:
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;
}

View file

@ -2265,7 +2265,10 @@ EXTERN_C HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
}
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)