"Dan Kegel" <[EMAIL PROTECTED]> wrote:

> The problem in Wine is that the bottom window ends up blank.
> The sequence appears to be: erase bottom window, draw right values
> for bottom window client areas but not frames, erase bottom window.
> On Windows, it seems to continue after that with:
> draw right values for client areas again, then draw frames.
> Those last two bits are missing in Wine.

Accidentally, I'm debugging painting bugs in one of my apps, but your
case seems to be a different one. Attached patch makes your app happy,
but since I'm not sure that this is a right fix, I'm not sending it
to wine-patches.

-- 
Dmitry.
--- cvs/hq/wine/dlls/x11drv/winpos.c    Thu Jan  9 20:46:14 2003
+++ wine/dlls/x11drv/winpos.c   Mon Feb  3 13:24:42 2003
@@ -990,6 +990,8 @@
         if (winpos->flags & SWP_SHOWWINDOW)
         {
             set_visible_style( winpos->hwnd, TRUE );
+            RedrawWindow( winpos->hwnd, NULL, 0, RDW_INVALIDATE | RDW_FRAME |
+                          RDW_ERASE | RDW_NOINTERNALPAINT | RDW_ALLCHILDREN );
         }
         else if ((wndPtr->dwStyle & WS_VISIBLE) &&
                  IsRectEmpty( &oldWindowRect ) && !IsRectEmpty( &newWindowRect ))

Reply via email to