Module: wine Branch: master Commit: 34b1606019982b71818780bc84b76460f650af31 URL: https://gitlab.winehq.org/wine/wine/-/commit/34b1606019982b71818780bc84b7646...
Author: Rémi Bernon rbernon@codeweavers.com Date: Thu Jul 11 16:43:29 2024 +0200
win32u: Use the dummy surface for empty layered window surfaces.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56958
---
dlls/win32u/window.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/win32u/window.c b/dlls/win32u/window.c index 3fa97d9a107..532d8e7a789 100644 --- a/dlls/win32u/window.c +++ b/dlls/win32u/window.c @@ -2228,9 +2228,10 @@ BOOL WINAPI NtUserUpdateLayeredWindow( HWND hwnd, HDC hdc_dst, const POINT *pts_ if (surface) window_surface_release( surface );
if (!(flags & ULW_COLORKEY)) key = CLR_INVALID; - if (!(user_driver->pCreateLayeredWindow( hwnd, &surface_rect, key, &surface )) || !surface) return FALSE; + if (IsRectEmpty( &surface_rect )) window_surface_add_ref( (surface = &dummy_surface) ); + else if (!(user_driver->pCreateLayeredWindow( hwnd, &surface_rect, key, &surface )) || !surface) return FALSE;
- if (!hdc_src) ret = TRUE; + if (!hdc_src || surface == &dummy_surface) ret = TRUE; else { BLENDFUNCTION src_blend = { AC_SRC_OVER, 0, 255, 0 };