regression: listbox stays disabled in created dialog-window

Duane Clark dclark at akamail.com
Wed Sep 1 11:06:27 CDT 2004


Rein Klazes wrote:
> 
> I was too early, another problem popped up caused by this patch.
> Un-maximized MDI child windows don't paint their non client area anymore
> (I tried two MDI applications, both had it).

I don't know why that only showed up now, but I have a workaround that I 
have been using for a long time on another MDI app with this problem, 
and it seems to also fix the current problem with Pegasus.


-------------- next part --------------
Index: dlls/x11drv/winpos.c
===================================================================
RCS file: /home/wine/wine/dlls/x11drv/winpos.c,v
retrieving revision 1.98
diff -u -r1.98 winpos.c
--- dlls/x11drv/winpos.c	24 Aug 2004 18:49:34 -0000	1.98
+++ dlls/x11drv/winpos.c	1 Sep 2004 16:00:19 -0000
@@ -1364,8 +1367,7 @@
 
     if (!(win = WIN_GetPtr( hwnd ))) return;
 
-    if ((win->dwStyle & WS_VISIBLE) &&
-        (win->dwStyle & WS_MINIMIZE) &&
+    if ((win->dwStyle & WS_MINIMIZE) &&
         (win->dwExStyle & WS_EX_MANAGED))
     {
         int x, y;
@@ -1392,7 +1394,10 @@
         WIN_SetStyle( hwnd, style );
         WIN_ReleasePtr( win );
 
-        SendMessageA( hwnd, WM_SHOWWINDOW, SW_RESTORE, 0 );
+        /* The SW_SHOW is needed if WS_VISIBLE is false. It will trigger
+           X11DRV_ShowWindow, and pass the SW_SHOW parameter. Otherwise, it
+           does not hurt anything. */
+        SendMessageA( hwnd, WM_SHOWWINDOW, SW_RESTORE, SW_SHOW );
         SetWindowPos( hwnd, 0, rect.left, rect.top, rect.right-rect.left, rect.bottom-rect.top,
                       SWP_NOZORDER | SWP_WINE_NOHOSTMOVE );
     }


More information about the wine-devel mailing list