mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
user32-Mouse_Message_Hwnd: Rebase and re-enable.
This commit is contained in:
parent
5bf41624ab
commit
52c1d8568a
@ -382,6 +382,7 @@ patch_enable_all ()
|
||||
enable_user32_LR_LOADFROMFILE="$1"
|
||||
enable_user32_ListBox_Size="$1"
|
||||
enable_user32_MessageBox_WS_EX_TOPMOST="$1"
|
||||
enable_user32_Mouse_Message_Hwnd="$1"
|
||||
enable_user32_PNG_Support="$1"
|
||||
enable_user32_Refresh_MDI_Menus="$1"
|
||||
enable_user32_ScrollWindowEx="$1"
|
||||
@ -1392,6 +1393,9 @@ patch_enable ()
|
||||
user32-MessageBox_WS_EX_TOPMOST)
|
||||
enable_user32_MessageBox_WS_EX_TOPMOST="$2"
|
||||
;;
|
||||
user32-Mouse_Message_Hwnd)
|
||||
enable_user32_Mouse_Message_Hwnd="$2"
|
||||
;;
|
||||
user32-PNG_Support)
|
||||
enable_user32_PNG_Support="$2"
|
||||
;;
|
||||
@ -8172,6 +8176,31 @@ if test "$enable_user32_MessageBox_WS_EX_TOPMOST" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset user32-Mouse_Message_Hwnd
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#22458] Fix issues with inserting symbols by clicking on center in Word 2007 & 2010
|
||||
# | * [#12007] Fix issues with dragging layers between images in Adobe Photoshop 7.0
|
||||
# | * [#9512] Make sure popups don't block access to objects underneath in DVDPro
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/user32/message.c, dlls/user32/tests/input.c, dlls/winex11.drv/bitblt.c, server/protocol.def, server/window.c
|
||||
# |
|
||||
if test "$enable_user32_Mouse_Message_Hwnd" -eq 1; then
|
||||
patch_apply user32-Mouse_Message_Hwnd/0001-user32-Try-harder-to-find-a-target-for-mouse-message.patch
|
||||
patch_apply user32-Mouse_Message_Hwnd/0002-user32-tests-Add-tests-for-clicking-through-layered-.patch
|
||||
patch_apply user32-Mouse_Message_Hwnd/0003-user32-tests-Add-tests-for-window-region-of-layered-.patch
|
||||
patch_apply user32-Mouse_Message_Hwnd/0004-user32-tests-Add-tests-for-DC-region.patch
|
||||
patch_apply user32-Mouse_Message_Hwnd/0005-server-Add-support-for-a-layered-window-region.-v2.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "user32: Try harder to find a target for mouse messages.", 1 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "user32/tests: Add tests for clicking through layered window.", 1 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "user32/tests: Add tests for window region of layered windows.", 1 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "user32/tests: Add tests for DC region.", 1 },';
|
||||
printf '%s\n' '+ { "Dmitry Timoshkov", "server: Add support for a layered window region.", 3 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset user32-PNG_Support
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@ -1,7 +1,7 @@
|
||||
From c13437712f404badbdbdc2352f0ffe0df8ad8265 Mon Sep 17 00:00:00 2001
|
||||
From 0bbae8697644dc706de5072b4b350690fcb0208c Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@codeweavers.com>
|
||||
Date: Tue, 25 Nov 2014 20:31:58 +0100
|
||||
Subject: user32: Try harder to find a target for mouse messages
|
||||
Subject: [PATCH 1/5] user32: Try harder to find a target for mouse messages
|
||||
|
||||
---
|
||||
dlls/user32/message.c | 2 +-
|
||||
@ -9,23 +9,23 @@ Subject: user32: Try harder to find a target for mouse messages
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
|
||||
index eac4e4d..da29dc6 100644
|
||||
index 6b7f918..5db3806 100644
|
||||
--- a/dlls/user32/message.c
|
||||
+++ b/dlls/user32/message.c
|
||||
@@ -2501,7 +2501,7 @@ static BOOL process_mouse_message( MSG *msg, UINT hw_id, ULONG_PTR extra_info, H
|
||||
}
|
||||
else
|
||||
@@ -2504,7 +2504,7 @@ static BOOL process_mouse_message( MSG *msg, UINT hw_id, ULONG_PTR extra_info, H
|
||||
{
|
||||
HWND orig = msg->hwnd;
|
||||
|
||||
- msg->hwnd = WINPOS_WindowFromPoint( msg->hwnd, msg->pt, &hittest );
|
||||
+ msg->hwnd = WINPOS_WindowFromPoint( 0, msg->pt, &hittest );
|
||||
}
|
||||
|
||||
if (!msg->hwnd || !WIN_IsCurrentThread( msg->hwnd ))
|
||||
if (!msg->hwnd) /* As a heuristic, try the next window if it's the owner of orig */
|
||||
{
|
||||
HWND next = GetWindow( orig, GW_HWNDNEXT );
|
||||
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c
|
||||
index 9b898d3..99ef777 100644
|
||||
index e52f7d2..437e70c 100644
|
||||
--- a/dlls/user32/tests/input.c
|
||||
+++ b/dlls/user32/tests/input.c
|
||||
@@ -1833,8 +1833,8 @@ static void test_Input_mouse(void)
|
||||
@@ -2029,8 +2029,8 @@ static void test_Input_mouse(void)
|
||||
}
|
||||
}
|
||||
ok(hittest_no && hittest_no<50, "expected WM_NCHITTEST message\n");
|
||||
@ -37,5 +37,5 @@ index 9b898d3..99ef777 100644
|
||||
|
||||
/* click on HTTRANSPARENT top-level window that belongs to other thread */
|
||||
--
|
||||
2.1.3
|
||||
2.7.4
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
From 9728ac1dc57f11b11d4467de7f1c58c59218978d Mon Sep 17 00:00:00 2001
|
||||
From 95c0fd89fcdd6517d0c8f6272ba41180bbda301c Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 29 May 2017 05:30:44 +0200
|
||||
Subject: user32/tests: Add tests for clicking through layered window.
|
||||
Subject: [PATCH 2/5] user32/tests: Add tests for clicking through layered
|
||||
window.
|
||||
|
||||
FIXME:
|
||||
|
||||
@ -11,11 +12,11 @@ FIXME:
|
||||
* Add tests with WS_CHILD layered Windows. On Windows this is supported for
|
||||
>= Win8, but only when a manifest is present.
|
||||
---
|
||||
dlls/user32/tests/input.c | 157 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 157 insertions(+)
|
||||
dlls/user32/tests/input.c | 156 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 156 insertions(+)
|
||||
|
||||
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c
|
||||
index 62cd5b38055..47c5fa8c932 100644
|
||||
index 437e70c..3a3e611 100644
|
||||
--- a/dlls/user32/tests/input.c
|
||||
+++ b/dlls/user32/tests/input.c
|
||||
@@ -53,6 +53,7 @@
|
||||
@ -26,17 +27,15 @@ index 62cd5b38055..47c5fa8c932 100644
|
||||
#include "winnls.h"
|
||||
|
||||
#include "wine/test.h"
|
||||
@@ -1927,7 +1928,9 @@ static void test_Input_mouse(void)
|
||||
@@ -1926,6 +1927,7 @@ static void test_Input_mouse(void)
|
||||
struct thread_data thread_data;
|
||||
HANDLE thread;
|
||||
DWORD thread_id;
|
||||
+ WNDCLASSA wclass;
|
||||
POINT pt, pt_org;
|
||||
+ BOOL ret;
|
||||
MSG msg;
|
||||
|
||||
GetCursorPos(&pt_org);
|
||||
@@ -2131,6 +2134,160 @@ static void test_Input_mouse(void)
|
||||
BOOL ret;
|
||||
@@ -2140,6 +2142,160 @@ static void test_Input_mouse(void)
|
||||
ok(got_button_up, "expected WM_LBUTTONUP message\n");
|
||||
DestroyWindow(hwnd);
|
||||
ok(ReleaseCapture(), "ReleaseCapture failed\n");
|
||||
@ -198,5 +197,5 @@ index 62cd5b38055..47c5fa8c932 100644
|
||||
|
||||
CloseHandle(thread_data.start_event);
|
||||
--
|
||||
2.12.2
|
||||
2.7.4
|
||||
|
||||
|
@ -1,14 +1,15 @@
|
||||
From c5c370cded7281e5b24545123e2ce5f310f651e5 Mon Sep 17 00:00:00 2001
|
||||
From 3c3d791ef1bd01769fd9b07ccc4df384ee9909aa Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 29 May 2017 06:04:18 +0200
|
||||
Subject: user32/tests: Add tests for window region of layered windows.
|
||||
Subject: [PATCH 3/5] user32/tests: Add tests for window region of layered
|
||||
windows.
|
||||
|
||||
---
|
||||
dlls/user32/tests/input.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 70 insertions(+)
|
||||
|
||||
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c
|
||||
index 47c5fa8c932..08c4c5435c6 100644
|
||||
index 3a3e611..39c4c83 100644
|
||||
--- a/dlls/user32/tests/input.c
|
||||
+++ b/dlls/user32/tests/input.c
|
||||
@@ -80,6 +80,7 @@ static struct {
|
||||
@ -27,17 +28,17 @@ index 47c5fa8c932..08c4c5435c6 100644
|
||||
|
||||
#undef GET_PROC
|
||||
}
|
||||
@@ -1930,6 +1932,9 @@ static void test_Input_mouse(void)
|
||||
@@ -1929,6 +1931,9 @@ static void test_Input_mouse(void)
|
||||
DWORD thread_id;
|
||||
WNDCLASSA wclass;
|
||||
POINT pt, pt_org;
|
||||
+ int region_type;
|
||||
+ HRGN hregion;
|
||||
+ RECT region;
|
||||
BOOL ret;
|
||||
MSG msg;
|
||||
BOOL ret;
|
||||
|
||||
@@ -2159,6 +2164,12 @@ static void test_Input_mouse(void)
|
||||
@@ -2167,6 +2172,12 @@ static void test_Input_mouse(void)
|
||||
while (wait_for_message(&msg)) DispatchMessageA(&msg);
|
||||
Sleep(100);
|
||||
|
||||
@ -50,7 +51,7 @@ index 47c5fa8c932..08c4c5435c6 100644
|
||||
got_button_down = got_button_up = FALSE;
|
||||
simulate_click(TRUE, 150, 150);
|
||||
while (wait_for_message(&msg))
|
||||
@@ -2185,6 +2196,12 @@ static void test_Input_mouse(void)
|
||||
@@ -2193,6 +2204,12 @@ static void test_Input_mouse(void)
|
||||
while (wait_for_message(&msg)) DispatchMessageA(&msg);
|
||||
Sleep(100);
|
||||
|
||||
@ -63,7 +64,7 @@ index 47c5fa8c932..08c4c5435c6 100644
|
||||
got_button_down = got_button_up = FALSE;
|
||||
simulate_click(TRUE, 150, 150);
|
||||
while (wait_for_message(&msg))
|
||||
@@ -2213,6 +2230,12 @@ static void test_Input_mouse(void)
|
||||
@@ -2221,6 +2238,12 @@ static void test_Input_mouse(void)
|
||||
while (wait_for_message(&msg)) DispatchMessageA(&msg);
|
||||
Sleep(100);
|
||||
|
||||
@ -76,7 +77,7 @@ index 47c5fa8c932..08c4c5435c6 100644
|
||||
got_button_down = got_button_up = FALSE;
|
||||
simulate_click(TRUE, 150, 150);
|
||||
while (wait_for_message(&msg))
|
||||
@@ -2239,6 +2262,12 @@ static void test_Input_mouse(void)
|
||||
@@ -2247,6 +2270,12 @@ static void test_Input_mouse(void)
|
||||
while (wait_for_message(&msg)) DispatchMessageA(&msg);
|
||||
Sleep(100);
|
||||
|
||||
@ -89,7 +90,7 @@ index 47c5fa8c932..08c4c5435c6 100644
|
||||
got_button_down = got_button_up = FALSE;
|
||||
simulate_click(TRUE, 150, 150);
|
||||
while (wait_for_message(&msg))
|
||||
@@ -2266,6 +2295,12 @@ static void test_Input_mouse(void)
|
||||
@@ -2274,6 +2303,12 @@ static void test_Input_mouse(void)
|
||||
while (wait_for_message(&msg)) DispatchMessageA(&msg);
|
||||
Sleep(100);
|
||||
|
||||
@ -102,7 +103,7 @@ index 47c5fa8c932..08c4c5435c6 100644
|
||||
got_button_down = got_button_up = FALSE;
|
||||
simulate_click(TRUE, 150, 150);
|
||||
while (wait_for_message(&msg))
|
||||
@@ -2287,6 +2322,41 @@ static void test_Input_mouse(void)
|
||||
@@ -2295,6 +2330,41 @@ static void test_Input_mouse(void)
|
||||
ok(got_button_down, "expected WM_LBUTTONDOWN message\n");
|
||||
ok(got_button_up, "expected WM_LBUTTONUP message\n");
|
||||
|
||||
@ -145,5 +146,5 @@ index 47c5fa8c932..08c4c5435c6 100644
|
||||
SetCursorPos(pt_org.x, pt_org.y);
|
||||
|
||||
--
|
||||
2.12.2
|
||||
2.7.4
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
Fixes: [22458] Fix issues with inserting symbols by clicking on center in Word 2007 & 2010
|
||||
Fixes: [12007] Fix issues with dragging layers between images in Adobe Photoshop 7.0
|
||||
Fixes: [9512] Make sure popups don't block access to objects underneath in DVDPro
|
||||
Disabled: true
|
Loading…
x
Reference in New Issue
Block a user