From: Rémi Bernon rbernon@codeweavers.com
--- dlls/win32u/driver.c | 8 +++----- dlls/win32u/window.c | 3 +-- dlls/winemac.drv/macdrv.h | 3 +-- dlls/winemac.drv/window.c | 3 +-- dlls/winex11.drv/window.c | 5 ++--- dlls/winex11.drv/x11drv.h | 3 +-- include/wine/gdi_driver.h | 4 ++-- 7 files changed, 11 insertions(+), 18 deletions(-)
diff --git a/dlls/win32u/driver.c b/dlls/win32u/driver.c index 362f32b93d7..3c4146450e5 100644 --- a/dlls/win32u/driver.c +++ b/dlls/win32u/driver.c @@ -867,8 +867,7 @@ static LRESULT nulldrv_SysCommand( HWND hwnd, WPARAM wparam, LPARAM lparam ) return -1; }
-static void nulldrv_UpdateLayeredWindow( HWND hwnd, const RECT *window_rect, COLORREF color_key, - BYTE alpha, UINT flags ) +static void nulldrv_UpdateLayeredWindow( HWND hwnd, UINT flags ) { }
@@ -1210,10 +1209,9 @@ static void loaderdrv_SetWindowRgn( HWND hwnd, HRGN hrgn, BOOL redraw ) load_driver()->pSetWindowRgn( hwnd, hrgn, redraw ); }
-static void loaderdrv_UpdateLayeredWindow( HWND hwnd, const RECT *window_rect, COLORREF color_key, - BYTE alpha, UINT flags ) +static void loaderdrv_UpdateLayeredWindow( HWND hwnd, UINT flags ) { - load_driver()->pUpdateLayeredWindow( hwnd, window_rect, color_key, alpha, flags ); + load_driver()->pUpdateLayeredWindow( hwnd, flags ); }
static UINT loaderdrv_VulkanInit( UINT version, void *vulkan_handle, const struct vulkan_driver_funcs **driver_funcs ) diff --git a/dlls/win32u/window.c b/dlls/win32u/window.c index 61fc9830378..8e1ec0370ed 100644 --- a/dlls/win32u/window.c +++ b/dlls/win32u/window.c @@ -2247,7 +2247,6 @@ BOOL WINAPI NtUserUpdateLayeredWindow( HWND hwnd, HDC hdc_dst, const POINT *pts_ { BLENDFUNCTION src_blend = { AC_SRC_OVER, 0, 255, 0 }; RECT rect = window_rect, src_rect; - UINT alpha = 0xff; HDC hdc = NULL;
OffsetRect( &rect, -rect.left, -rect.top ); @@ -2277,7 +2276,7 @@ BOOL WINAPI NtUserUpdateLayeredWindow( HWND hwnd, HDC hdc_dst, const POINT *pts_ window_surface_set_layered( surface, key, -1, 0xff000000 ); window_surface_flush( surface );
- user_driver->pUpdateLayeredWindow( hwnd, &window_rect, key, alpha, flags ); + user_driver->pUpdateLayeredWindow( hwnd, flags ); }
done: diff --git a/dlls/winemac.drv/macdrv.h b/dlls/winemac.drv/macdrv.h index c5649d1ad38..f5d6943bfc3 100644 --- a/dlls/winemac.drv/macdrv.h +++ b/dlls/winemac.drv/macdrv.h @@ -145,8 +145,7 @@ extern void macdrv_SetLayeredWindowAttributes(HWND hwnd, COLORREF key, BYTE alph extern void macdrv_SetWindowText(HWND hwnd, LPCWSTR text); extern UINT macdrv_ShowWindow(HWND hwnd, INT cmd, RECT *rect, UINT swp); extern LRESULT macdrv_SysCommand(HWND hwnd, WPARAM wparam, LPARAM lparam); -extern void macdrv_UpdateLayeredWindow(HWND hwnd, const RECT *window_rect, COLORREF color_key, - BYTE alpha, UINT flags); +extern void macdrv_UpdateLayeredWindow(HWND hwnd, UINT flags); extern LRESULT macdrv_WindowMessage(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp); extern BOOL macdrv_WindowPosChanging(HWND hwnd, UINT swp_flags, BOOL shaped, const RECT *window_rect, const RECT *client_rect, RECT *visible_rect); diff --git a/dlls/winemac.drv/window.c b/dlls/winemac.drv/window.c index 029715e4180..b5277d160d8 100644 --- a/dlls/winemac.drv/window.c +++ b/dlls/winemac.drv/window.c @@ -1812,8 +1812,7 @@ done: /*********************************************************************** * UpdateLayeredWindow (MACDRV.@) */ -void macdrv_UpdateLayeredWindow(HWND hwnd, const RECT *window_rect, COLORREF color_key, - BYTE alpha, UINT flags) +void macdrv_UpdateLayeredWindow(HWND hwnd, UINT flags) { struct macdrv_win_data *data;
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 98cb7952164..ccb0aad2b2d 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -2935,8 +2935,7 @@ void X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alpha, DWO /*********************************************************************** * UpdateLayeredWindow (X11DRV.@) */ -void X11DRV_UpdateLayeredWindow( HWND hwnd, const RECT *window_rect, COLORREF color_key, - BYTE alpha, UINT flags ) +void X11DRV_UpdateLayeredWindow( HWND hwnd, UINT flags ) { struct x11drv_win_data *data; BOOL mapped; @@ -2950,7 +2949,7 @@ void X11DRV_UpdateLayeredWindow( HWND hwnd, const RECT *window_rect, COLORREF co { DWORD style = NtUserGetWindowLongW( hwnd, GWL_STYLE );
- if ((style & WS_VISIBLE) && ((style & WS_MINIMIZE) || is_window_rect_mapped( window_rect ))) + if ((style & WS_VISIBLE) && ((style & WS_MINIMIZE) || is_window_rect_mapped( &data->window_rect ))) map_window( hwnd, style ); } } diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h index eddbc74a726..8941f023a0f 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h @@ -240,8 +240,7 @@ extern UINT X11DRV_ShowWindow( HWND hwnd, INT cmd, RECT *rect, UINT swp ); extern LRESULT X11DRV_SysCommand( HWND hwnd, WPARAM wparam, LPARAM lparam ); extern LRESULT X11DRV_ClipboardWindowProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp ); extern void X11DRV_UpdateClipboard(void); -extern void X11DRV_UpdateLayeredWindow( HWND hwnd, const RECT *window_rect, COLORREF color_key, - BYTE alpha, UINT flags ); +extern void X11DRV_UpdateLayeredWindow( HWND hwnd, UINT flags ); extern LRESULT X11DRV_WindowMessage( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp ); extern BOOL X11DRV_WindowPosChanging( HWND hwnd, UINT swp_flags, BOOL shaped, const RECT *window_rect, const RECT *client_rect, RECT *visible_rect ); diff --git a/include/wine/gdi_driver.h b/include/wine/gdi_driver.h index 8eec0ada4ca..ec52c599175 100644 --- a/include/wine/gdi_driver.h +++ b/include/wine/gdi_driver.h @@ -179,7 +179,7 @@ struct gdi_dc_funcs };
/* increment this when you change the DC function table */ -#define WINE_GDI_DRIVER_VERSION 88 +#define WINE_GDI_DRIVER_VERSION 89
#define GDI_PRIORITY_NULL_DRV 0 /* null driver */ #define GDI_PRIORITY_FONT_DRV 100 /* any font driver */ @@ -342,7 +342,7 @@ struct user_driver_funcs void (*pSetWindowText)(HWND,LPCWSTR); UINT (*pShowWindow)(HWND,INT,RECT*,UINT); LRESULT (*pSysCommand)(HWND,WPARAM,LPARAM); - void (*pUpdateLayeredWindow)(HWND,const RECT *,COLORREF,BYTE,UINT); + void (*pUpdateLayeredWindow)(HWND,UINT); LRESULT (*pWindowMessage)(HWND,UINT,WPARAM,LPARAM); BOOL (*pWindowPosChanging)(HWND,UINT,BOOL,const RECT *,const RECT *,RECT *); BOOL (*pCreateWindowSurface)(HWND,BOOL,const RECT *,struct window_surface**);
From: Rémi Bernon rbernon@codeweavers.com
--- dlls/wineandroid.drv/window.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-)
diff --git a/dlls/wineandroid.drv/window.c b/dlls/wineandroid.drv/window.c index 65ce4180730..7d20a58930e 100644 --- a/dlls/wineandroid.drv/window.c +++ b/dlls/wineandroid.drv/window.c @@ -1043,22 +1043,15 @@ BOOL ANDROID_WindowPosChanging( HWND hwnd, UINT swp_flags, BOOL shaped, const RE const RECT *client_rect, RECT *visible_rect ) { struct android_win_data *data = get_win_data( hwnd ); - BOOL ret = FALSE;
TRACE( "hwnd %p, swp_flags %04x, shaped %u, window_rect %s, client_rect %s, visible_rect %s\n", hwnd, swp_flags, shaped, wine_dbgstr_rect(window_rect), wine_dbgstr_rect(client_rect), wine_dbgstr_rect(visible_rect) );
if (!data && !(data = create_win_data( hwnd, window_rect, client_rect ))) return FALSE; /* use default surface */ - - if (data->parent) goto done; /* use default surface */ - if (is_argb_surface( data->surface )) goto done; /* use default surface */ - - ret = TRUE; - -done: release_win_data(data); - return ret; + + return TRUE; }
From: Rémi Bernon rbernon@codeweavers.com
--- dlls/winemac.drv/window.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/dlls/winemac.drv/window.c b/dlls/winemac.drv/window.c index b5277d160d8..3ee3c866379 100644 --- a/dlls/winemac.drv/window.c +++ b/dlls/winemac.drv/window.c @@ -1883,13 +1883,9 @@ BOOL macdrv_WindowPosChanging(HWND hwnd, UINT swp_flags, BOOL shaped, const RECT TRACE("visible_rect %s -> %s\n", wine_dbgstr_rect(window_rect), wine_dbgstr_rect(visible_rect));
- if (!data->cocoa_window) goto done; /* use default surface */ - if (data->ulw_layered) goto done; /* use default surface */ - - ret = TRUE; - -done: + ret = !!data->cocoa_window; /* use default surface if we don't have a window */ release_win_data(data); + return ret; }
From: Rémi Bernon rbernon@codeweavers.com
--- dlls/winewayland.drv/window.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/dlls/winewayland.drv/window.c b/dlls/winewayland.drv/window.c index dc6a6b7e03a..7c694246fb7 100644 --- a/dlls/winewayland.drv/window.c +++ b/dlls/winewayland.drv/window.c @@ -431,23 +431,15 @@ BOOL WAYLAND_WindowPosChanging(HWND hwnd, UINT swp_flags, BOOL shaped, const REC const RECT *client_rect, RECT *visible_rect) { struct wayland_win_data *data = wayland_win_data_get(hwnd); - HWND parent; - BOOL ret = FALSE;
TRACE("hwnd %p, swp_flags %04x, shaped %u, window_rect %s, client_rect %s, visible_rect %s\n", hwnd, swp_flags, shaped, wine_dbgstr_rect(window_rect), wine_dbgstr_rect(client_rect), wine_dbgstr_rect(visible_rect));
if (!data && !(data = wayland_win_data_create(hwnd, window_rect, client_rect))) return FALSE; /* use default surface */ - - parent = NtUserGetAncestor(hwnd, GA_PARENT); - if ((parent && parent != NtUserGetDesktopWindow())) goto done; /* use default surface */ - - ret = TRUE; - -done: wayland_win_data_release(data); - return ret; + + return TRUE; }
From: Rémi Bernon rbernon@codeweavers.com
--- dlls/winex11.drv/window.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index ccb0aad2b2d..8c166473d32 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -2612,14 +2612,11 @@ BOOL X11DRV_WindowPosChanging( HWND hwnd, UINT swp_flags, BOOL shaped, const REC }
X11DRV_window_to_X_rect( data, visible_rect, window_rect, client_rect ); + TRACE( "visible_rect %s -> %s\n", wine_dbgstr_rect(window_rect), wine_dbgstr_rect(visible_rect) );
- if (!data->whole_window && !data->embedded) goto done; /* use default surface */ - if (data->use_alpha) goto done; /* use default surface */ - - ret = TRUE; - -done: + ret = !!data->whole_window; /* use default surface if we don't have a window */ release_win_data( data ); + return ret; }