Dmitry Timoshkov : winex11: Move the SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE /SC_RESTORE) call after the window extents check.

Alexandre Julliard julliard at winehq.org
Fri Apr 8 10:51:01 CDT 2011


Module: wine
Branch: master
Commit: 6eed4c4241ae30f9e0af2581555c5ce6c25623f3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=6eed4c4241ae30f9e0af2581555c5ce6c25623f3

Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date:   Tue Apr  5 18:31:27 2011 +0900

winex11: Move the SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE/SC_RESTORE) call after the window extents check.

---

 dlls/winex11.drv/event.c |   44 ++++++++++++++++++++++++--------------------
 1 files changed, 24 insertions(+), 20 deletions(-)

diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c
index 2fdc028..474e288 100644
--- a/dlls/winex11.drv/event.c
+++ b/dlls/winex11.drv/event.c
@@ -912,25 +912,6 @@ void X11DRV_ConfigureNotify( HWND hwnd, XEvent *xev )
            hwnd, data->whole_window, rect.left, rect.top, rect.right-rect.left, rect.bottom-rect.top,
            event->x, event->y, event->width, event->height );
 
-    if (is_net_wm_state_maximized( event->display, data ))
-    {
-        if (!IsZoomed( data->hwnd ))
-        {
-            TRACE( "win %p/%lx is maximized\n", data->hwnd, data->whole_window );
-            SendMessageW( data->hwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0 );
-            return;
-        }
-    }
-    else
-    {
-        if (IsZoomed( data->hwnd ))
-        {
-            TRACE( "window %p/%lx is no longer maximized\n", data->hwnd, data->whole_window );
-            SendMessageW( data->hwnd, WM_SYSCOMMAND, SC_RESTORE, 0 );
-            return;
-        }
-    }
-
     X11DRV_X_to_window_rect( data, &rect );
     if (root_coords) MapWindowPoints( 0, parent, (POINT *)&rect, 2 );
 
@@ -953,7 +934,11 @@ void X11DRV_ConfigureNotify( HWND hwnd, XEvent *xev )
          data->window_rect.bottom - data->window_rect.top == cy) ||
         (IsRectEmpty( &data->window_rect ) && event->width == 1 && event->height == 1))
     {
-        if (flags & SWP_NOMOVE) return;  /* if nothing changed, don't do anything */
+        if (flags & SWP_NOMOVE)  /* if nothing changed, don't do anything */
+        {
+            TRACE( "Nothing has changed, ignoring event\n" );
+            return;
+        }
         flags |= SWP_NOSIZE;
     }
     else
@@ -961,6 +946,25 @@ void X11DRV_ConfigureNotify( HWND hwnd, XEvent *xev )
                hwnd, data->window_rect.right - data->window_rect.left,
                data->window_rect.bottom - data->window_rect.top, cx, cy );
 
+    if (is_net_wm_state_maximized( event->display, data ))
+    {
+        if (!IsZoomed( data->hwnd ))
+        {
+            TRACE( "win %p/%lx is maximized\n", data->hwnd, data->whole_window );
+            SendMessageW( data->hwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0 );
+            return;
+        }
+    }
+    else
+    {
+        if (IsZoomed( data->hwnd ))
+        {
+            TRACE( "window %p/%lx is no longer maximized\n", data->hwnd, data->whole_window );
+            SendMessageW( data->hwnd, WM_SYSCOMMAND, SC_RESTORE, 0 );
+            return;
+        }
+    }
+
     SetWindowPos( hwnd, 0, x, y, cx, cy, flags );
 }
 




More information about the wine-cvs mailing list