From 8b562997d5dd78c5714f02ca55e88b620b115cca Mon Sep 17 00:00:00 2001 From: Ulrich Czekalla Date: Wed, 10 Jan 2001 22:42:05 +0000 Subject: [PATCH] Only call TOOLBAR_CalcToolbar when parameters change. --- dlls/comctl32/toolbar.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/dlls/comctl32/toolbar.c b/dlls/comctl32/toolbar.c index 0294a2d94a7..4480f47631a 100644 --- a/dlls/comctl32/toolbar.c +++ b/dlls/comctl32/toolbar.c @@ -1546,6 +1546,8 @@ TOOLBAR_AddBitmap (HWND hwnd, WPARAM wParam, LPARAM lParam) SendMessageA (hwnd, TB_SETBUTTONSIZE, 0, MAKELPARAM((WORD)22, (WORD)22)); } + + TOOLBAR_CalcToolbar (hwnd); } else { @@ -1717,6 +1719,8 @@ TOOLBAR_AddButtonsA (HWND hwnd, WPARAM wParam, LPARAM lParam) } } + TOOLBAR_CalcToolbar (hwnd); + InvalidateRect(hwnd, NULL, FALSE); return TRUE; @@ -1777,6 +1781,8 @@ TOOLBAR_AddButtonsW (HWND hwnd, WPARAM wParam, LPARAM lParam) } } + TOOLBAR_CalcToolbar (hwnd); + InvalidateRect(hwnd, NULL, FALSE); return TRUE; @@ -1995,6 +2001,7 @@ TOOLBAR_AutoSize (HWND hwnd) } else { infoPtr->nWidth = parent_rect.right - parent_rect.left; + TOOLBAR_CalcToolbar (hwnd); InvalidateRect( hwnd, NULL, TRUE ); cy = infoPtr->nHeight; cx = infoPtr->nWidth; @@ -2226,6 +2233,8 @@ TOOLBAR_DeleteButton (HWND hwnd, WPARAM wParam, LPARAM lParam) COMCTL32_Free (oldButtons); } + TOOLBAR_CalcToolbar (hwnd); + InvalidateRect (hwnd, NULL, TRUE); return TRUE; @@ -2716,6 +2725,8 @@ TOOLBAR_HideButton (HWND hwnd, WPARAM wParam, LPARAM lParam) else btnPtr->fsState |= TBSTATE_HIDDEN; + TOOLBAR_CalcToolbar (hwnd); + InvalidateRect (hwnd, NULL, TRUE); return TRUE; @@ -2836,6 +2847,8 @@ TOOLBAR_InsertButtonA (HWND hwnd, WPARAM wParam, LPARAM lParam) COMCTL32_Free (oldButtons); + TOOLBAR_CalcToolbar (hwnd); + InvalidateRect (hwnd, NULL, FALSE); return TRUE; @@ -3399,6 +3412,7 @@ TOOLBAR_SetIndent (HWND hwnd, WPARAM wParam, LPARAM lParam) if(infoPtr->nIndent != (INT)wParam) { infoPtr->nIndent = (INT)wParam; + TOOLBAR_CalcToolbar (hwnd); InvalidateRect(hwnd, NULL, FALSE); } @@ -3472,6 +3486,9 @@ TOOLBAR_SetRows (HWND hwnd, WPARAM wParam, LPARAM lParam) { infoPtr->nRows = LOWORD(wParam); + /* recalculate toolbar */ + TOOLBAR_CalcToolbar (hwnd); + /* repaint toolbar */ InvalidateRect(hwnd, NULL, FALSE); } @@ -3638,6 +3655,9 @@ TOOLBAR_Create (HWND hwnd, WPARAM wParam, LPARAM lParam) (WPARAM)nmttc.hdr.idFrom, (LPARAM)&nmttc); } } + + TOOLBAR_CalcToolbar(hwnd); + return 0; } @@ -4122,8 +4142,6 @@ TOOLBAR_Paint (HWND hwnd, WPARAM wParam) TRACE("\n"); - TOOLBAR_CalcToolbar( hwnd ); - /* fill ps.rcPaint with a default rect */ memcpy(&(ps.rcPaint), &(infoPtr->rcBound), sizeof(infoPtr->rcBound));