2009/3/17 Igor Tarasov tarasov.igor@gmail.com:
Currently, wine uses iBitmap property for determining toolbar separators width all the time, stating it's an undocumented feature. This is not correct.
According to MSDN, iBitmap is used only on inserting separator (since there is no cx field in TBBUTTON structure). http://msdn.microsoft.com/en-us/library/bb760476(VS.85).aspx
In other cases, cx property that can be updated via get/set buttoninfo is used, as tests show. Also, tests show that this property differs from zero only if application specifically sets. Setting it to 0 makes separator display in default width. All this is implemented in this patch. More tests results in bugtracker (link below).
Please ensure that there are no regressions in the display of IE6's toolbars after this patch. This is the main user of undocumented toolbar features.
@@ -4428,7 +4431,7 @@ TOOLBAR_SetButtonInfoA (HWND hwnd, WPARAM wParam, LPARAM lParam) if (lptbbi->dwMask & TBIF_LPARAM) btnPtr->dwData = lptbbi->lParam; if (lptbbi->dwMask & TBIF_SIZE)
btnPtr->cx = lptbbi->cx;
if (lptbbi->dwMask & TBIF_STATE) btnPtr->fsState = lptbbi->fsState; if (lptbbi->dwMask & TBIF_STYLE)btnPtr->cx = lptbbi->cx;
Whitespace only changes shouldn't be included in patches with other changes.