server: Also return the new extended style in the set_window_pos request.
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 @@
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 @@
}
ret = !wine_server_call( req );
new_style = reply->new_style;
+ new_ex_style = reply->new_ex_style;
}
SERVER_END_REQ;
@@ -304,6 +305,7 @@
win->rectWindow = *rectWindow;
win->rectClient = *rectClient;
win->dwStyle = new_style;
+ win->dwExStyle = new_ex_style;
WIN_ReleasePtr( win );
}
return ret;
@@ -325,6 +327,7 @@
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 reply_header __header;
unsigned int new_style;
+ unsigned int new_ex_style;
};
@@ -4879,6 +4880,6 @@
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 @@
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_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 @@
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;
}