shell32: Add SHIL_JUMBO list.

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:16 +03:00 committed by Alexandre Julliard
parent 7db6885da7
commit e51c9b47b8
2 changed files with 6 additions and 8 deletions

View File

@ -61,7 +61,7 @@ typedef struct
static HDPA sic_hdpa;
static INIT_ONCE sic_init_once = INIT_ONCE_STATIC_INIT;
static HIMAGELIST shell_imagelists[SHIL_SYSSMALL+1];
static HIMAGELIST shell_imagelists[SHIL_LAST+1];
static CRITICAL_SECTION SHELL32_SicCS;
static CRITICAL_SECTION_DEBUG critsect_debug =
@ -454,6 +454,7 @@ static BOOL WINAPI SIC_Initialize( INIT_ONCE *once, void *param, void **context
sizes[SHIL_EXTRALARGE].cy = (GetSystemMetrics( SM_CYICON ) * 3) / 2;
sizes[SHIL_SYSSMALL].cx = GetSystemMetrics( SM_CXSMICON );
sizes[SHIL_SYSSMALL].cy = GetSystemMetrics( SM_CYSMICON );
sizes[SHIL_JUMBO].cx = sizes[SHIL_JUMBO].cy = 256;
TRACE("large %dx%d small %dx%d\n", sizes[SHIL_LARGE].cx, sizes[SHIL_LARGE].cy, sizes[SHIL_SMALL].cx, sizes[SHIL_SMALL].cy);
@ -1039,11 +1040,10 @@ HRESULT WINAPI SHGetStockIconInfo(SHSTOCKICONID id, UINT flags, SHSTOCKICONINFO
*/
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
{
if (iImageList < 0 || iImageList > SHIL_SYSSMALL)
{
FIXME("Unsupported image list %i requested\n", iImageList);
TRACE("(%d, %s, %p)\n", iImageList, debugstr_guid(riid), ppv);
if (iImageList < 0 || iImageList > SHIL_LAST)
return E_FAIL;
}
InitOnceExecuteOnce( &sic_init_once, SIC_Initialize, NULL, NULL );
return HIMAGELIST_QueryInterface(shell_imagelists[iImageList], riid, ppv);

View File

@ -1417,9 +1417,7 @@ static void test_SHGetImageList(void)
for (i = 0; i <= SHIL_LAST; i++)
{
hr = SHGetImageList( i, &IID_IImageList, (void **)&list );
todo_wine_if(i == SHIL_JUMBO)
ok( hr == S_OK ||
broken( i == SHIL_JUMBO && hr == E_INVALIDARG ), /* XP and 2003 */
ok( hr == S_OK || broken( i == SHIL_JUMBO && hr == E_INVALIDARG ), /* XP and 2003 */
"%d: got %08x\n", i, hr );
if (FAILED(hr)) continue;
IImageList_GetIconSize( list, &width, &height );