comctl32: toolbar: Unlike in listview, TB_SETEXTENDEDSTYLE takes the actual style, not a mask.

This commit is contained in:
Mikołaj Zalewski 2009-02-01 13:07:08 +01:00 committed by Alexandre Julliard
parent 5de172af78
commit 574c0dcc32
2 changed files with 16 additions and 5 deletions

View File

@ -1030,6 +1030,7 @@ static void test_recalc(void)
HWND hToolbar;
TBBUTTONINFO bi;
CHAR test[] = "Test";
int i;
/* Like TB_ADDBUTTONS tested in test_sized, inserting a button without text
* results in a relayout, while adding one with text forces a recalc */
@ -1049,6 +1050,17 @@ static void test_recalc(void)
SendMessage(hToolbar, TB_SETBUTTONINFO, 1, (LPARAM)&bi);
ok(!did_recalc(hToolbar), "Unexpected recalc - setting a button text\n");
for (i = 0; i < 32; i++)
{
if (i == 1 || i == 3) /* an undoc style and TBSTYLE_EX_MIXEDBUTTONS */
continue;
prepare_recalc_test(&hToolbar);
expect(0, (int)SendMessage(hToolbar, TB_GETEXTENDEDSTYLE, 0, 0));
SendMessage(hToolbar, TB_SETEXTENDEDSTYLE, 0, (1 << i));
SendMessage(hToolbar, TB_SETEXTENDEDSTYLE, 0, 0);
expect(0, (int)SendMessage(hToolbar, TB_GETEXTENDEDSTYLE, 0, 0));
}
DestroyWindow(hToolbar);
}

View File

@ -4648,11 +4648,10 @@ static LRESULT
TOOLBAR_SetExtendedStyle (HWND hwnd, WPARAM wParam, LPARAM lParam)
{
TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd);
DWORD dwTemp;
DWORD dwOldStyle;
dwTemp = infoPtr->dwExStyle;
infoPtr->dwExStyle &= ~wParam;
infoPtr->dwExStyle |= (DWORD)lParam;
dwOldStyle = infoPtr->dwExStyle;
infoPtr->dwExStyle = (DWORD)lParam;
TRACE("new style 0x%08x\n", infoPtr->dwExStyle);
@ -4666,7 +4665,7 @@ TOOLBAR_SetExtendedStyle (HWND hwnd, WPARAM wParam, LPARAM lParam)
InvalidateRect(hwnd, NULL, TRUE);
return (LRESULT)dwTemp;
return (LRESULT)dwOldStyle;
}