comctl32: correct handling of toolbar separators' size

Rob Shearman robertshearman at gmail.com
Wed Mar 18 08:36:44 CDT 2009


2009/3/17 Igor Tarasov <tarasov.igor at 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;
> +        btnPtr->cx = lptbbi->cx;
>      if (lptbbi->dwMask & TBIF_STATE)
>         btnPtr->fsState = lptbbi->fsState;
>      if (lptbbi->dwMask & TBIF_STYLE)

Whitespace only changes shouldn't be included in patches with other changes.

-- 
Rob Shearman



More information about the wine-devel mailing list