shell32: Move SHGetImageList() to related source file.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2018-03-21 09:27:13 +03:00 committed by Alexandre Julliard
parent 09389c4bab
commit 0075b05adf
2 changed files with 27 additions and 28 deletions

View file

@ -1022,3 +1022,30 @@ HRESULT WINAPI SHGetStockIconInfo(SHSTOCKICONID id, UINT flags, SHSTOCKICONINFO
return S_OK;
}
/*************************************************************************
* SHGetImageList (SHELL32.727)
*
* Returns a copy of a shell image list.
*
* NOTES
* Windows XP features 4 sizes of image list, and Vista 5. Wine currently
* only supports the traditional small and large image lists, so requests
* for the others will currently fail.
*/
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
{
/* Wine currently only maintains large and small image lists */
if ((iImageList != SHIL_LARGE) && (iImageList != SHIL_SMALL) && (iImageList != SHIL_SYSSMALL))
{
FIXME("Unsupported image list %i requested\n", iImageList);
return E_FAIL;
}
InitOnceExecuteOnce( &sic_init_once, SIC_Initialize, NULL, NULL );
if (iImageList == SHIL_SYSSMALL)
iImageList = SHIL_SMALL;
return HIMAGELIST_QueryInterface(shell_imagelists[iImageList], riid, ppv);
}

View file

@ -2133,31 +2133,3 @@ BOOL WINAPI LinkWindow_UnregisterClass(void)
void WINAPI SHFlushSFCache(void)
{
}
/*************************************************************************
* SHGetImageList (SHELL32.727)
*
* Returns a copy of a shell image list.
*
* NOTES
* Windows XP features 4 sizes of image list, and Vista 5. Wine currently
* only supports the traditional small and large image lists, so requests
* for the others will currently fail.
*/
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
{
HIMAGELIST hLarge, hSmall;
HIMAGELIST hNew;
/* Wine currently only maintains large and small image lists */
if ((iImageList != SHIL_LARGE) && (iImageList != SHIL_SMALL) && (iImageList != SHIL_SYSSMALL))
{
FIXME("Unsupported image list %i requested\n", iImageList);
return E_FAIL;
}
Shell_GetImageLists(&hLarge, &hSmall);
hNew = (iImageList == SHIL_LARGE) ? hLarge : hSmall;
return HIMAGELIST_QueryInterface(hNew, riid, ppv);
}