Ignore size change on ConfigureNotify if window rect is empty and new size is 1x1.
diff --git a/dlls/x11drv/winpos.c b/dlls/x11drv/winpos.c index 49885f0..fbe6fe8 100644 --- a/dlls/x11drv/winpos.c +++ b/dlls/x11drv/winpos.c
@@ -1032,7 +1032,7 @@ { case SW_HIDE: if (!wasVisible) goto END;; - swp |= SWP_HIDEWINDOW | SWP_NOSIZE | SWP_NOMOVE | + swp |= SWP_HIDEWINDOW | SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOZORDER; break; @@ -1331,7 +1331,7 @@ pos = __td_lookup( w, children, total ); if( pos < best && pos > check ) { - /* find a nearest Wine window precedes + /* find a nearest Wine window precedes * pWndCheck in the real z-order... */ best = pos; hwndInsertAfter = pWnd->hwndSelf; @@ -1416,8 +1416,9 @@ TRACE( "%04x moving from (%d,%d) to (%d,%d)\n", hwnd, rect.left, rect.top, winpos.x, winpos.y ); - if (rect.right - rect.left == winpos.cx && - rect.bottom - rect.top == winpos.cy) winpos.flags |= SWP_NOSIZE; + if ((rect.right - rect.left == winpos.cx && rect.bottom - rect.top == winpos.cy) || + (IsRectEmpty( &rect ) && winpos.cx == 1 && winpos.cy == 1)) + winpos.flags |= SWP_NOSIZE; else TRACE( "%04x resizing from (%dx%d) to (%dx%d)\n", hwnd, rect.right - rect.left, rect.bottom - rect.top, @@ -1951,7 +1952,7 @@ /*********************************************************************** * ForceWindowRaise (X11DRV.@) * - * Raise a window on top of the X stacking order, while preserving + * Raise a window on top of the X stacking order, while preserving * the correct Windows Z order. * * FIXME: this should go away.