Alexandre Julliard : server: Also return the new extended style in the set_window_pos request.

Alexandre Julliard julliard at winehq.org
Thu Nov 1 07:39:40 CDT 2007


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Oct 31 17:51:05 2007 +0100

server: Also return the new extended style in the set_window_pos request.

---

 dlls/winex11.drv/winpos.c      |    5 ++++-
 include/wine/server_protocol.h |    3 ++-
 server/protocol.def            |    1 +
 server/trace.c                 |    3 ++-
 server/window.c                |    1 +
 5 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/dlls/winex11.drv/winpos.c b/dlls/winex11.drv/winpos.c
index da08bd4..9de341b 100644
--- a/dlls/winex11.drv/winpos.c
+++ b/dlls/winex11.drv/winpos.c
@@ -240,7 +240,7 @@ BOOL X11DRV_SetWindowPos( HWND hwnd, HWND insert_after, const RECT *rectWindow,
     struct x11drv_win_data *data;
     RECT new_whole_rect, old_client_rect;
     WND *win;
-    DWORD old_style, new_style;
+    DWORD old_style, new_style, new_ex_style;
     BOOL ret, make_managed = FALSE;
 
     if (!(data = X11DRV_get_win_data( hwnd ))) return FALSE;
@@ -293,6 +293,7 @@ BOOL X11DRV_SetWindowPos( HWND hwnd, HWND insert_after, const RECT *rectWindow,
         }
         ret = !wine_server_call( req );
         new_style = reply->new_style;
+        new_ex_style = reply->new_ex_style;
     }
     SERVER_END_REQ;
 
@@ -304,6 +305,7 @@ BOOL X11DRV_SetWindowPos( HWND hwnd, HWND insert_after, const RECT *rectWindow,
             win->rectWindow   = *rectWindow;
             win->rectClient   = *rectClient;
             win->dwStyle      = new_style;
+            win->dwExStyle    = new_ex_style;
             WIN_ReleasePtr( win );
         }
         return ret;
@@ -325,6 +327,7 @@ BOOL X11DRV_SetWindowPos( HWND hwnd, HWND insert_after, const RECT *rectWindow,
         win->rectClient   = *rectClient;
         old_style         = win->dwStyle;
         win->dwStyle      = new_style;
+        win->dwExStyle    = new_ex_style;
         data->window_rect = *rectWindow;
 
         TRACE( "win %p window %s client %s style %08x\n",
diff --git a/include/wine/server_protocol.h b/include/wine/server_protocol.h
index e669953..606e814 100644
--- a/include/wine/server_protocol.h
+++ b/include/wine/server_protocol.h
@@ -2946,6 +2946,7 @@ struct set_window_pos_reply
 {
     struct reply_header __header;
     unsigned int   new_style;
+    unsigned int   new_ex_style;
 };
 
 
@@ -4879,6 +4880,6 @@ union generic_reply
     struct set_completion_info_reply set_completion_info_reply;
 };
 
-#define SERVER_PROTOCOL_VERSION 323
+#define SERVER_PROTOCOL_VERSION 324
 
 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */
diff --git a/server/protocol.def b/server/protocol.def
index 5d8acde..c91e8db 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -2171,6 +2171,7 @@ enum message_type
     VARARG(valid,rectangles);     /* valid rectangles from WM_NCCALCSIZE */
 @REPLY
     unsigned int   new_style;     /* new window style */
+    unsigned int   new_ex_style;  /* new window extended style */
 @END
 
 
diff --git a/server/trace.c b/server/trace.c
index 72f9ddb..e63cad9 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -2691,7 +2691,8 @@ static void dump_set_window_pos_request( const struct set_window_pos_request *re
 
 static void dump_set_window_pos_reply( const struct set_window_pos_reply *req )
 {
-    fprintf( stderr, " new_style=%08x", req->new_style );
+    fprintf( stderr, " new_style=%08x,", req->new_style );
+    fprintf( stderr, " new_ex_style=%08x", req->new_ex_style );
 }
 
 static void dump_get_window_rectangles_request( const struct get_window_rectangles_request *req )
diff --git a/server/window.c b/server/window.c
index ce5297c..1e81cbf 100644
--- a/server/window.c
+++ b/server/window.c
@@ -1822,6 +1822,7 @@ DECL_HANDLER(set_window_pos)
     if (!visible_rect) visible_rect = &req->window;
     set_window_pos( win, previous, flags, &req->window, &req->client, visible_rect, valid_rects );
     reply->new_style = win->style;
+    reply->new_ex_style = win->ex_style;
 }
 
 




More information about the wine-cvs mailing list