Aled Hughes : comctl32/toolbar: Avoid unnecessary invalidation on TB_HIDEBUTTON.
Module: wine Branch: master Commit: 85abd4c3cfdc21dd614b00bc02697610c13d9651 URL: http://source.winehq.org/git/wine.git/?a=commit;h=85abd4c3cfdc21dd614b00bc02... Author: Aled Hughes <winehq(a)aledhughes.co.uk> Date: Mon Aug 3 01:52:51 2009 +0400 comctl32/toolbar: Avoid unnecessary invalidation on TB_HIDEBUTTON. --- dlls/comctl32/toolbar.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dlls/comctl32/toolbar.c b/dlls/comctl32/toolbar.c index 0d11b2b..d95dc7d 100644 --- a/dlls/comctl32/toolbar.c +++ b/dlls/comctl32/toolbar.c @@ -3633,6 +3633,7 @@ static LRESULT TOOLBAR_HideButton (TOOLBAR_INFO *infoPtr, INT Id, BOOL fHide) { TBUTTON_INFO *btnPtr; + BYTE oldState; INT nIndex; TRACE("\n"); @@ -3642,15 +3643,17 @@ TOOLBAR_HideButton (TOOLBAR_INFO *infoPtr, INT Id, BOOL fHide) return FALSE; btnPtr = &infoPtr->buttons[nIndex]; + oldState = btnPtr->fsState; if (fHide) btnPtr->fsState |= TBSTATE_HIDDEN; else btnPtr->fsState &= ~TBSTATE_HIDDEN; - TOOLBAR_LayoutToolbar (infoPtr); - - InvalidateRect (infoPtr->hwndSelf, NULL, TRUE); + if (oldState != btnPtr->fsState) { + TOOLBAR_LayoutToolbar (infoPtr); + InvalidateRect (infoPtr->hwndSelf, NULL, TRUE); + } return TRUE; }
participants (1)
-
Alexandre Julliard