Module: wine Branch: master Commit: e82b9dc32e90c5b38fb73352ce71d520c96afc53 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e82b9dc32e90c5b38fb73352ce...
Author: Huw Davies huw@codeweavers.com Date: Tue Apr 28 11:32:00 2015 +0100
comctl32: Move the style change code to the TB_SETSTYLE handler.
---
dlls/comctl32/toolbar.c | 46 ++++++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 24 deletions(-)
diff --git a/dlls/comctl32/toolbar.c b/dlls/comctl32/toolbar.c index 83cb674..695e450 100644 --- a/dlls/comctl32/toolbar.c +++ b/dlls/comctl32/toolbar.c @@ -4922,7 +4922,28 @@ TOOLBAR_SetState (TOOLBAR_INFO *infoPtr, INT Id, LPARAM lParam) static LRESULT TOOLBAR_SetStyle (TOOLBAR_INFO *infoPtr, DWORD style) { + DWORD dwOldStyle = infoPtr->dwStyle; + + TRACE("new style 0x%08x\n", style); + + if (style & TBSTYLE_LIST) + infoPtr->dwDTFlags = DT_LEFT | DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS; + else + infoPtr->dwDTFlags = DT_CENTER | DT_END_ELLIPSIS; + infoPtr->dwStyle = style; + TOOLBAR_CheckStyle(infoPtr); + + if ((dwOldStyle ^ style) & (TBSTYLE_WRAPABLE | CCS_VERT)) + TOOLBAR_LayoutToolbar(infoPtr); + + /* only resize if one of the CCS_* styles was changed */ + if ((dwOldStyle ^ style) & COMMON_STYLES) + { + TOOLBAR_AutoSize(infoPtr); + InvalidateRect(infoPtr->hwndSelf, NULL, TRUE); + } + return 0; }
@@ -6337,30 +6358,7 @@ static LRESULT TOOLBAR_StyleChanged (TOOLBAR_INFO *infoPtr, INT nType, const STYLESTRUCT *lpStyle) { if (nType == GWL_STYLE) - { - DWORD dwOldStyle = infoPtr->dwStyle; - - if (lpStyle->styleNew & TBSTYLE_LIST) - infoPtr->dwDTFlags = DT_LEFT | DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS; - else - infoPtr->dwDTFlags = DT_CENTER | DT_END_ELLIPSIS; - - TRACE("new style 0x%08x\n", lpStyle->styleNew); - - infoPtr->dwStyle = lpStyle->styleNew; - TOOLBAR_CheckStyle (infoPtr); - - if ((dwOldStyle ^ lpStyle->styleNew) & (TBSTYLE_WRAPABLE | CCS_VERT)) - TOOLBAR_LayoutToolbar(infoPtr); - - /* only resize if one of the CCS_* styles was changed */ - if ((dwOldStyle ^ lpStyle->styleNew) & COMMON_STYLES) - { - TOOLBAR_AutoSize (infoPtr); - - InvalidateRect(infoPtr->hwndSelf, NULL, TRUE); - } - } + return TOOLBAR_SetStyle(infoPtr, lpStyle->styleNew);
return 0; }