comctl32/toolbar: Avoid unnecessary invalidation on TB_HIDEBUTTON.

This commit is contained in:
Aled Hughes 2009-08-03 01:52:51 +04:00 committed by Alexandre Julliard
parent 86b480b828
commit 85abd4c3cf
1 changed files with 6 additions and 3 deletions

View File

@ -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;
}