Zebediah Figura <z.figura12(a)gmail.com> writes:
+ switch (type) + { + case ICON_BIG: + ret = win->hIcon; + if (!ret) ret = (HICON)GetClassLongPtrW( hwnd, GCLP_HICON ); + break; + + case ICON_SMALL: + ret = win->hIconSmall; + if (!ret) ret = (HICON)GetClassLongPtrW( hwnd, GCLP_HICONSM ); + break; + + case ICON_SMALL2: + ret = win->hIconSmall ? win->hIconSmall : win->hIconSmall2; + if (!ret) ret = (HICON)GetClassLongPtrW( hwnd, GCLP_HICONSM ); + break; + + default: + SetLastError( ERROR_INVALID_PARAMETER ); + WIN_ReleasePtr( win ); + return 0; + } + + if (!ret) ret = LoadIconW( 0, (const WCHAR *)IDI_WINLOGO );
For the small icon case, you may want to fall back to the big icon instead, and/or return a smaller IDI_WINLOGO, cf. NC_IconForWindow(). Testing the resulting icon sizes would also be interesting. -- Alexandre Julliard julliard(a)winehq.org