Editbox background regression (bug 2695)
Gabriele Giorgetti
g.giorgetti at teamsystem.com
Fri Feb 4 10:40:13 CST 2005
James Hawkins ha scritto:
>It would help if you could do a regression test on the problem. See this link:
>
>http://winehq.org/site/docs/wine-devel/x1314
>
>
Ok I've been doing the "binary search" for a while and, luckily, here is
the offending patch:
diff -urN wine-20040916/dlls/user/edit.c wine-20040917/dlls/user/edit.c
--- wine-20040916/dlls/user/edit.c Fri Feb 4 11:21:16 2005
+++ wine-20040917/dlls/user/edit.c Fri Feb 4 14:41:11 2005
@@ -4423,13 +4423,18 @@
/*
* In Win95 look and feel, the WS_BORDER style is replaced by the
* WS_EX_CLIENTEDGE style for the edit control. This gives the edit
- * control a non client area. Not always. This coordinates in some
- * way with the window creation code in dialog.c When making
- * modifications please ensure that the code still works for edit
- * controls created directly with style 0x50800000, exStyle 0 (
- * which should have a single pixel border)
+ * control a nonclient area so we don't need to draw the border.
+ * If WS_BORDER without WS_EX_CLIENTEDGE is specified we shouldn't have
+ * a nonclient area and we should handle painting the border ourselves.
+ *
+ * When making modifications please ensure that the code still works
+ * for edit controls created directly with style 0x50800000, exStyle 0
+ * (which should have a single pixel border)
*/
- es->style &= ~WS_BORDER;
+ if (lpcs->dwExStyle & WS_EX_CLIENTEDGE)
+ es->style &= ~WS_BORDER;
+ else if (es->style & WS_BORDER)
+ SetWindowLongW(hwnd, GWL_STYLE, es->style & ~WS_BORDER);
return TRUE;
}
Please refer to http://bugs.winehq.com/show_bug.cgi?id=2695
for the reverting patch.
Regards.
More information about the wine-devel
mailing list