mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Updated winex11.drv-Query_server_position patchset
Reverted to the older patch to stop issues with windows not being hidden correctly.
This commit is contained in:
parent
8d07859cb1
commit
8d04884c1f
@ -5042,7 +5042,6 @@ fi
|
||||
# | * dlls/winex11.drv/window.c
|
||||
# |
|
||||
if test "$enable_winex11_drv_Query_server_position" -eq 1; then
|
||||
patch_apply winex11.drv-Query_server_position/0001-winex11.drv-Let-the-Window-Manager-handle-the-off-sc.patch
|
||||
patch_apply winex11.drv-Query_server_position/0001-winex11.drv-window-Query-the-X-server-for-the-actual.patch
|
||||
fi
|
||||
|
||||
|
@ -1,41 +0,0 @@
|
||||
From 35214fc80597835fdf985fc2d900dfe4ab5c2945 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= <gabrielopcode@gmail.com>
|
||||
Date: Wed, 14 Oct 2020 16:20:08 +0300
|
||||
Subject: [PATCH] winex11.drv: Let the Window Manager handle the off-screen
|
||||
window if it's managed.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Some applications control their own position when they are being moved. This
|
||||
means WindowPosChanged is called without an event.
|
||||
|
||||
Window Managers have their own way to deal with offscreen windows, and we
|
||||
have to respect that, if the window is managed. So let the WM handle this
|
||||
situation instead of unmapping the window ourselves.
|
||||
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=15346
|
||||
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
|
||||
---
|
||||
dlls/winex11.drv/window.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
|
||||
index 457173964eb..424acee118f 100644
|
||||
--- a/dlls/winex11.drv/window.c
|
||||
+++ b/dlls/winex11.drv/window.c
|
||||
@@ -2458,8 +2458,10 @@ void CDECL X11DRV_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags
|
||||
(!event_type && !(new_style & WS_MINIMIZE) &&
|
||||
!is_window_rect_mapped( rectWindow ) && is_window_rect_mapped( &old_window_rect )))
|
||||
{
|
||||
+ BOOL managed = data->managed;
|
||||
+
|
||||
release_win_data( data );
|
||||
- unmap_window( hwnd );
|
||||
+ if (!managed) unmap_window( hwnd );
|
||||
if (is_window_rect_full_screen( &old_window_rect )) reset_clipping_window();
|
||||
if (!(data = get_win_data( hwnd ))) return;
|
||||
}
|
||||
--
|
||||
2.28.0
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 36f2e96f24e12696d5ea1f758cfbf5425db2c675 Mon Sep 17 00:00:00 2001
|
||||
From 38d9b194e83b02f56d734da88396ac06ddb7af1f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= <gabrielopcode@gmail.com>
|
||||
Date: Mon, 24 Dec 2018 14:26:57 +0200
|
||||
Subject: [PATCH] winex11.drv/window: Query the X server for the actual rect of
|
||||
@ -22,10 +22,10 @@ Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
|
||||
1 file changed, 21 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
|
||||
index a850ae16a55..fb0e5aa68a6 100644
|
||||
index 97dee52..7f436ac 100644
|
||||
--- a/dlls/winex11.drv/window.c
|
||||
+++ b/dlls/winex11.drv/window.c
|
||||
@@ -197,6 +197,25 @@ static BOOL has_owned_popups( HWND hwnd )
|
||||
@@ -196,6 +196,25 @@ static BOOL has_owned_popups( HWND hwnd )
|
||||
return result.found;
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@ index a850ae16a55..fb0e5aa68a6 100644
|
||||
|
||||
/***********************************************************************
|
||||
* alloc_win_data
|
||||
@@ -2503,7 +2522,8 @@ void CDECL X11DRV_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags
|
||||
@@ -2400,7 +2419,8 @@ void CDECL X11DRV_WindowPosChanged( HWND hwnd, HWND insert_after, UINT swp_flags
|
||||
{
|
||||
if (((swp_flags & SWP_HIDEWINDOW) && !(new_style & WS_VISIBLE)) ||
|
||||
(!event_type && !(new_style & WS_MINIMIZE) &&
|
||||
@ -59,8 +59,8 @@ index a850ae16a55..fb0e5aa68a6 100644
|
||||
+ !is_window_rect_mapped( rectWindow ) && is_window_rect_mapped( &old_window_rect ) &&
|
||||
+ !is_actual_window_rect_mapped( data )))
|
||||
{
|
||||
BOOL managed = data->managed;
|
||||
|
||||
release_win_data( data );
|
||||
unmap_window( hwnd );
|
||||
--
|
||||
2.28.0
|
||||
1.9.1
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user