Toolbar: TB_MARKITEM Should Redraw Button
Robert Shearman
rob at codeweavers.com
Sat Aug 28 07:41:02 CDT 2004
Changelog:
TB_MARKITEM should redraw button.
-------------- next part --------------
Index: wine/dlls/comctl32/toolbar.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/toolbar.c,v
retrieving revision 1.187
diff -u -p -r1.187 toolbar.c
--- wine/dlls/comctl32/toolbar.c 25 Aug 2004 02:16:32 -0000 1.187
+++ wine/dlls/comctl32/toolbar.c 28 Aug 2004 12:35:51 -0000
@@ -3986,6 +3986,8 @@ TOOLBAR_MarkButton (HWND hwnd, WPARAM wP
{
TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd);
INT nIndex;
+ DWORD oldState;
+ TBUTTON_INFO *btnPtr;
TRACE("hwnd = %p, wParam = %d, lParam = 0x%08lx\n", hwnd, wParam, lParam);
@@ -3993,10 +3995,16 @@ TOOLBAR_MarkButton (HWND hwnd, WPARAM wP
if (nIndex == -1)
return FALSE;
+ btnPtr = &infoPtr->buttons[nIndex];
+ oldState = btnPtr->fsState;
+
if (LOWORD(lParam))
- infoPtr->buttons[nIndex].fsState |= TBSTATE_MARKED;
+ btnPtr->fsState |= TBSTATE_MARKED;
else
- infoPtr->buttons[nIndex].fsState &= ~TBSTATE_MARKED;
+ btnPtr->fsState &= ~TBSTATE_MARKED;
+
+ if(oldState != btnPtr->fsState)
+ InvalidateRect(hwnd, &btnPtr->rect, TRUE);
return TRUE;
}
More information about the wine-patches
mailing list