Module: wine Branch: master Commit: 85abd4c3cfdc21dd614b00bc02697610c13d9651 URL: http://source.winehq.org/git/wine.git/?a=commit;h=85abd4c3cfdc21dd614b00bc02...
Author: Aled Hughes winehq@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; }