Wine 0.8: VB compatibility !! Take 2
Dmitry Timoshkov
dmitry at baikal.ru
Sun Nov 10 04:10:13 CST 2002
"Dmitry Timoshkov" <dmitry at baikal.ru> wrote:
> Attached patch should fix a MessageBox bug.
>
> Changelog:
> Fix copy/paste bug. Make MessageBox without an icon look better.
I'm sorry, that was wrong patch. Please use this one instead.
--
Dmitry.
-------------- next part --------------
--- cvs/cw/crossover/office/wine/windows/msgbox.c Sun Nov 10 15:04:30 2002
+++ wine/windows/msgbox.c Sun Nov 10 17:56:45 2002
@@ -70,7 +70,7 @@
}
else
{
- if (LoadStringW(0, IDS_ERROR, buf, 256))
+ if (LoadStringW(GetModuleHandleA("user32.dll"), IDS_ERROR, buf, 256))
SetWindowTextW(hwnd, buf);
}
}
@@ -158,6 +158,11 @@
/* Get the icon height */
GetWindowRect(GetDlgItem(hwnd, MSGBOX_IDICON), &rect);
MapWindowPoints(0, hwnd, (LPPOINT)&rect, 2);
+ if (!(lpmb->dwStyle & MB_ICONMASK))
+ {
+ rect.bottom = rect.top;
+ rect.right = rect.left;
+ }
iheight = rect.bottom - rect.top;
ileft = rect.left;
iwidth = rect.right - ileft;
@@ -198,7 +203,8 @@
DrawTextW( hdc, lpszText, -1, &rect,
DT_LEFT | DT_EXPANDTABS | DT_WORDBREAK | DT_CALCRECT);
/* Min text width corresponds to space for the buttons */
- tleft = 2 * ileft + iwidth;
+ tleft = ileft;
+ if (iwidth) tleft += ileft + iwidth;
twidth = max((bw + bspace) * buttons + bspace - tleft, rect.right);
theight = rect.bottom;
@@ -407,7 +413,7 @@
if (HIWORD(msgbox->lpszIcon))
RtlCreateUnicodeStringFromAsciiz(&iconW, msgbox->lpszIcon);
else
- captionW.Buffer = (LPWSTR)msgbox->lpszIcon;
+ iconW.Buffer = (LPWSTR)msgbox->lpszIcon;
msgboxW.cbSize = sizeof(msgboxW);
msgboxW.hwndOwner = msgbox->hwndOwner;
More information about the wine-patches
mailing list