patching styles during window creation

Medland, Bill Bill.Medland at accpac.com
Tue Jul 10 12:18:55 CDT 2001


 <<diff.txt>> 
-------------- next part --------------
Bill Medland (medbi01 at accpac.com)
Additional modifications to the window styles during window creation.

Index: wine/windows/win.c
===================================================================
RCS file: /home/wine/wine/windows/win.c,v
retrieving revision 1.136
diff -u -r1.136 win.c
--- wine/windows/win.c	2001/06/29 01:26:41	1.136
+++ wine/windows/win.c	2001/07/10 16:50:18
@@ -709,6 +709,25 @@
 
     WIN_FixCoordinates(cs, &sw); /* fix default coordinates */
 
+    /* Correct the window style - stage 1
+     *
+     * These are patches that appear to affect both the style loaded into the
+     * WIN structure and passed in the CreateStruct to the WM_CREATE etc.
+     *
+     * WS_EX_WINDOWEDGE appears to be enforced based on the other styles, so 
+     * why does the user get to set it?
+     */
+
+    /* This has been tested for WS_CHILD | WS_VISIBLE.  It has not been
+     * tested for WS_POPUP
+     */
+    if ((cs->dwExStyle & WS_EX_DLGMODALFRAME) ||
+        ((!(cs->dwExStyle & WS_EX_STATICEDGE)) &&
+          (cs->style & (WS_DLGFRAME | WS_THICKFRAME))))
+        cs->dwExStyle |= WS_EX_WINDOWEDGE;
+    else
+        cs->dwExStyle &= ~WS_EX_WINDOWEDGE;
+
     /* Create the window structure */
 
     if (!(hwnd = USER_HEAP_ALLOC( sizeof(*wndPtr) + wndExtra - sizeof(wndPtr->wExtra) )))
@@ -795,7 +814,7 @@
 	}
     }
 
-    /* Correct the window style */
+    /* Correct the window style - stage 2 */
 
     if (!(cs->style & WS_CHILD))
     {


More information about the wine-patches mailing list