From: Rémi Bernon rbernon@codeweavers.com
--- dlls/win32u/driver.c | 4 ++-- dlls/win32u/window.c | 5 +++-- dlls/wineandroid.drv/android.h | 4 ++-- dlls/wineandroid.drv/window.c | 4 ++-- dlls/winemac.drv/window.c | 4 ++-- dlls/winewayland.drv/waylanddrv.h | 4 ++-- dlls/winewayland.drv/window.c | 4 ++-- dlls/winex11.drv/window.c | 4 ++-- dlls/winex11.drv/x11drv.h | 4 ++-- include/wine/gdi_driver.h | 2 +- 10 files changed, 20 insertions(+), 19 deletions(-)
diff --git a/dlls/win32u/driver.c b/dlls/win32u/driver.c index 3e094264d15..995b3cab6d9 100644 --- a/dlls/win32u/driver.c +++ b/dlls/win32u/driver.c @@ -900,8 +900,8 @@ static void nulldrv_MoveWindowBits( HWND hwnd, const struct window_rects *new_re { }
-static void nulldrv_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags, const struct window_rects *new_rects, - struct window_surface *surface ) +static void nulldrv_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags, BOOL fullscreen, + const struct window_rects *new_rects, struct window_surface *surface ) { }
diff --git a/dlls/win32u/window.c b/dlls/win32u/window.c index f5f6dd501d4..c325f9438d3 100644 --- a/dlls/win32u/window.c +++ b/dlls/win32u/window.c @@ -1971,13 +1971,14 @@ static BOOL apply_window_pos( HWND hwnd, HWND insert_after, UINT swp_flags, stru struct window_rects monitor_rects; WND *win; HWND surface_win = 0; - BOOL ret, is_layered, needs_update = FALSE; + BOOL ret, is_fullscreen, is_layered, needs_update = FALSE; struct window_rects old_rects; RECT extra_rects[3]; struct window_surface *old_surface; UINT monitor_dpi;
is_layered = new_surface && new_surface->alpha_mask; + is_fullscreen = is_window_rect_full_screen( &new_rects->visible, get_thread_dpi() );
get_window_rects( hwnd, COORDS_SCREEN, &old_rects, get_thread_dpi() ); if (IsRectEmpty( &valid_rects[0] ) || is_layered) valid_rects = NULL; @@ -2103,7 +2104,7 @@ static BOOL apply_window_pos( HWND hwnd, HWND insert_after, UINT swp_flags, stru } }
- user_driver->pWindowPosChanged( hwnd, insert_after, swp_flags, &monitor_rects, get_driver_window_surface( new_surface, monitor_dpi ) ); + user_driver->pWindowPosChanged( hwnd, insert_after, swp_flags, is_fullscreen, &monitor_rects, get_driver_window_surface( new_surface, monitor_dpi ) ); }
return ret; diff --git a/dlls/wineandroid.drv/android.h b/dlls/wineandroid.drv/android.h index c48b7c7b121..63884b012fe 100644 --- a/dlls/wineandroid.drv/android.h +++ b/dlls/wineandroid.drv/android.h @@ -97,8 +97,8 @@ extern UINT ANDROID_ShowWindow( HWND hwnd, INT cmd, RECT *rect, UINT swp ); extern LRESULT ANDROID_WindowMessage( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp ); extern BOOL ANDROID_WindowPosChanging( HWND hwnd, UINT swp_flags, BOOL shaped, const struct window_rects *rects ); extern BOOL ANDROID_CreateWindowSurface( HWND hwnd, BOOL layered, const RECT *surface_rect, struct window_surface **surface ); -extern void ANDROID_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags, const struct window_rects *new_rects, - struct window_surface *surface ); +extern void ANDROID_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags, BOOL fullscreen, + const struct window_rects *new_rects, struct window_surface *surface );
/* unixlib interface */
diff --git a/dlls/wineandroid.drv/window.c b/dlls/wineandroid.drv/window.c index 537aae456e7..b7726bcf5d7 100644 --- a/dlls/wineandroid.drv/window.c +++ b/dlls/wineandroid.drv/window.c @@ -1060,8 +1060,8 @@ BOOL ANDROID_CreateWindowSurface( HWND hwnd, BOOL layered, const RECT *surface_r /*********************************************************************** * ANDROID_WindowPosChanged */ -void ANDROID_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags, const struct window_rects *new_rects, - struct window_surface *surface ) +void ANDROID_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags, BOOL fullscreen, + const struct window_rects *new_rects, struct window_surface *surface ) { struct android_win_data *data; UINT new_style = NtUserGetWindowLongW( hwnd, GWL_STYLE ); diff --git a/dlls/winemac.drv/window.c b/dlls/winemac.drv/window.c index 824475a9b34..f8235d93e24 100644 --- a/dlls/winemac.drv/window.c +++ b/dlls/winemac.drv/window.c @@ -1817,8 +1817,8 @@ BOOL macdrv_GetWindowStyleMasks(HWND hwnd, UINT style, UINT ex_style, UINT *styl /*********************************************************************** * WindowPosChanged (MACDRV.@) */ -void macdrv_WindowPosChanged(HWND hwnd, HWND insert_after, UINT swp_flags, const struct window_rects *new_rects, - struct window_surface *surface) +void macdrv_WindowPosChanged(HWND hwnd, HWND insert_after, UINT swp_flags, BOOL fullscreen, + const struct window_rects *new_rects, struct window_surface *surface) { struct macdrv_thread_data *thread_data; struct macdrv_win_data *data; diff --git a/dlls/winewayland.drv/waylanddrv.h b/dlls/winewayland.drv/waylanddrv.h index 9de42758aa1..8946c4aafbb 100644 --- a/dlls/winewayland.drv/waylanddrv.h +++ b/dlls/winewayland.drv/waylanddrv.h @@ -353,8 +353,8 @@ void WAYLAND_SetWindowText(HWND hwnd, LPCWSTR text); LRESULT WAYLAND_SysCommand(HWND hwnd, WPARAM wparam, LPARAM lparam); UINT WAYLAND_UpdateDisplayDevices(const struct gdi_device_manager *device_manager, void *param); LRESULT WAYLAND_WindowMessage(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp); -void WAYLAND_WindowPosChanged(HWND hwnd, HWND insert_after, UINT swp_flags, const struct window_rects *new_rects, - struct window_surface *surface); +void WAYLAND_WindowPosChanged(HWND hwnd, HWND insert_after, UINT swp_flags, BOOL fullscreen, + const struct window_rects *new_rects, struct window_surface *surface); BOOL WAYLAND_WindowPosChanging(HWND hwnd, UINT swp_flags, BOOL shaped, const struct window_rects *rects); BOOL WAYLAND_CreateWindowSurface(HWND hwnd, BOOL layered, const RECT *surface_rect, struct window_surface **surface); UINT WAYLAND_VulkanInit(UINT version, void *vulkan_handle, const struct vulkan_driver_funcs **driver_funcs); diff --git a/dlls/winewayland.drv/window.c b/dlls/winewayland.drv/window.c index d27a16456d2..d1be6b28d4c 100644 --- a/dlls/winewayland.drv/window.c +++ b/dlls/winewayland.drv/window.c @@ -435,8 +435,8 @@ BOOL WAYLAND_WindowPosChanging(HWND hwnd, UINT swp_flags, BOOL shaped, const str /*********************************************************************** * WAYLAND_WindowPosChanged */ -void WAYLAND_WindowPosChanged(HWND hwnd, HWND insert_after, UINT swp_flags, const struct window_rects *new_rects, - struct window_surface *surface) +void WAYLAND_WindowPosChanged(HWND hwnd, HWND insert_after, UINT swp_flags, BOOL fullscreen, + const struct window_rects *new_rects, struct window_surface *surface) { struct wayland_win_data *data; BOOL managed; diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 24e926d229f..78f296fd7f3 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -2580,8 +2580,8 @@ BOOL X11DRV_GetWindowStyleMasks( HWND hwnd, UINT style, UINT ex_style, UINT *sty /*********************************************************************** * WindowPosChanged (X11DRV.@) */ -void X11DRV_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags, const struct window_rects *new_rects, - struct window_surface *surface ) +void X11DRV_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags, BOOL fullscreen, + const struct window_rects *new_rects, struct window_surface *surface ) { struct x11drv_thread_data *thread_data; struct x11drv_win_data *data; diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h index a207db1c4a1..6d328778bb6 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h @@ -247,8 +247,8 @@ extern BOOL X11DRV_WindowPosChanging( HWND hwnd, UINT swp_flags, BOOL shaped, co extern BOOL X11DRV_GetWindowStyleMasks( HWND hwnd, UINT style, UINT ex_style, UINT *style_mask, UINT *ex_style_mask ); extern BOOL X11DRV_CreateWindowSurface( HWND hwnd, BOOL layered, const RECT *surface_rect, struct window_surface **surface ); extern void X11DRV_MoveWindowBits( HWND hwnd, const struct window_rects *new_rects, const RECT *valid_rects ); -extern void X11DRV_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags, const struct window_rects *new_rects, - struct window_surface *surface ); +extern void X11DRV_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags, BOOL fullscreen, + const struct window_rects *new_rects, struct window_surface *surface ); extern BOOL X11DRV_SystemParametersInfo( UINT action, UINT int_param, void *ptr_param, UINT flags ); extern void X11DRV_ThreadDetach(void); diff --git a/include/wine/gdi_driver.h b/include/wine/gdi_driver.h index fee065af71b..a5ceae87022 100644 --- a/include/wine/gdi_driver.h +++ b/include/wine/gdi_driver.h @@ -389,7 +389,7 @@ struct user_driver_funcs BOOL (*pGetWindowStyleMasks)(HWND,UINT,UINT,UINT*,UINT*); BOOL (*pCreateWindowSurface)(HWND,BOOL,const RECT *,struct window_surface**); void (*pMoveWindowBits)(HWND,const struct window_rects *,const RECT *); - void (*pWindowPosChanged)(HWND,HWND,UINT,const struct window_rects*,struct window_surface*); + void (*pWindowPosChanged)(HWND,HWND,UINT,BOOL,const struct window_rects*,struct window_surface*); /* system parameters */ BOOL (*pSystemParametersInfo)(UINT,UINT,void*,UINT); /* vulkan support */