Module: wine Branch: master Commit: 292cb4d2ac07a09aff9a88bf3d793cc8528f5bc8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=292cb4d2ac07a09aff9a88bf3d...
Author: Mikołaj Zalewski mikolaj@zalewski.pl Date: Tue Jan 16 15:41:44 2007 +0100
comctl32: toolbar: Fix the TB_SETBITMAPSIZE for width or height zero (with testcase).
---
dlls/comctl32/tests/toolbar.c | 10 ++++++++++ dlls/comctl32/toolbar.c | 7 +++++-- 2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/dlls/comctl32/tests/toolbar.c b/dlls/comctl32/tests/toolbar.c index f1f3187..164644e 100644 --- a/dlls/comctl32/tests/toolbar.c +++ b/dlls/comctl32/tests/toolbar.c @@ -330,6 +330,16 @@ static void test_add_bitmap(void) ok(SendMessageA(hToolbar, TB_SETBITMAPSIZE, 0, MAKELONG(30, 30)) == TRUE, "TB_SETBITMAPSIZE failed\n"); UpdateWindow(hToolbar); CHECK_IMAGELIST(8, 30, 30); + /* when the width or height is zero, set it to 1 */ + ok(SendMessageA(hToolbar, TB_SETBITMAPSIZE, 0, MAKELONG(0, 0)) == TRUE, "TB_SETBITMAPSIZE failed\n"); + UpdateWindow(hToolbar); + CHECK_IMAGELIST(208, 1, 1); + ok(SendMessageA(hToolbar, TB_SETBITMAPSIZE, 0, MAKELONG(0, 5)) == TRUE, "TB_SETBITMAPSIZE failed\n"); + UpdateWindow(hToolbar); + CHECK_IMAGELIST(208, 1, 5); + ok(SendMessageA(hToolbar, TB_SETBITMAPSIZE, 0, MAKELONG(5, 0)) == TRUE, "TB_SETBITMAPSIZE failed\n"); + UpdateWindow(hToolbar); + CHECK_IMAGELIST(41, 5, 1);
/* the control can add bitmaps to an existing image list */ rebuild_toolbar(&hToolbar); diff --git a/dlls/comctl32/toolbar.c b/dlls/comctl32/toolbar.c index 85ada79..2dca16e 100644 --- a/dlls/comctl32/toolbar.c +++ b/dlls/comctl32/toolbar.c @@ -4489,8 +4489,11 @@ TOOLBAR_SetBitmapSize (HWND hwnd, WPARAM if (wParam != 0) FIXME("wParam is %d. Perhaps image list index?\n", wParam);
- if ((LOWORD(lParam) <= 0) || (HIWORD(lParam)<=0)) - lParam = MAKELPARAM(16, 15); + if (LOWORD(lParam) == 0) + lParam = MAKELPARAM(1, HIWORD(lParam)); + + if (HIWORD(lParam)==0) + lParam = MAKELPARAM(LOWORD(lParam), 1);
if (infoPtr->nNumButtons > 0) WARN("%d buttons, undoc increase to bitmap size : %d-%d -> %d-%d\n",