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