Module: wine Branch: master Commit: e51c9b47b8bc9f8518084c0896d0eb451c316260 URL: https://source.winehq.org/git/wine.git/?a=commit;h=e51c9b47b8bc9f8518084c089...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Wed Mar 21 09:27:16 2018 +0300
shell32: Add SHIL_JUMBO list.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/shell32/iconcache.c | 10 +++++----- dlls/shell32/tests/shelllink.c | 4 +--- 2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/dlls/shell32/iconcache.c b/dlls/shell32/iconcache.c index f26ff0e..d55bde9 100644 --- a/dlls/shell32/iconcache.c +++ b/dlls/shell32/iconcache.c @@ -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); diff --git a/dlls/shell32/tests/shelllink.c b/dlls/shell32/tests/shelllink.c index 2486c96..1e07090 100644 --- a/dlls/shell32/tests/shelllink.c +++ b/dlls/shell32/tests/shelllink.c @@ -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 );