From 917f288f1bb8b51f5a0f2722494fb8f2f2e75983 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 31 Oct 2007 17:51:05 +0100 Subject: [PATCH] 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 da08bd493f5..9de341b688d 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 e669953adc3..606e814b2bf 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 5d8acde7461..c91e8db912b 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 72f9ddbbaa7..e63cad93c0b 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 ce5297c9512..1e81cbfd6d2 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; } -- 2.11.4.GIT