Aled Hughes : comctl32/toolbar: Avoid unnecessary invalidation on TB_HIDEBUTTON.
Alexandre Julliard
julliard at winehq.org
Mon Aug 3 11:15:03 CDT 2009
Module: wine
Branch: master
Commit: 85abd4c3cfdc21dd614b00bc02697610c13d9651
URL: http://source.winehq.org/git/wine.git/?a=commit;h=85abd4c3cfdc21dd614b00bc02697610c13d9651
Author: Aled Hughes <winehq at 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;
}
More information about the wine-cvs
mailing list