mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Added user32-GetPointerType patchset
This commit is contained in:
parent
9d20573c6e
commit
faf8498490
@ -321,6 +321,7 @@ patch_enable_all ()
|
||||
enable_user32_DrawMenuItem="$1"
|
||||
enable_user32_DrawTextExW="$1"
|
||||
enable_user32_FlashWindowEx="$1"
|
||||
enable_user32_GetPointerType="$1"
|
||||
enable_user32_GetSystemMetrics="$1"
|
||||
enable_user32_LR_LOADFROMFILE="$1"
|
||||
enable_user32_ListBox_Size="$1"
|
||||
@ -1130,6 +1131,9 @@ patch_enable ()
|
||||
user32-FlashWindowEx)
|
||||
enable_user32_FlashWindowEx="$2"
|
||||
;;
|
||||
user32-GetPointerType)
|
||||
enable_user32_GetPointerType="$2"
|
||||
;;
|
||||
user32-GetSystemMetrics)
|
||||
enable_user32_GetSystemMetrics="$2"
|
||||
;;
|
||||
@ -1897,6 +1901,13 @@ if test "$enable_uxtheme_GTK_Theming" -eq 1; then
|
||||
enable_ntdll_DllRedirects=1
|
||||
fi
|
||||
|
||||
if test "$enable_user32_GetPointerType" -eq 1; then
|
||||
if test "$enable_user32_Mouse_Message_Hwnd" -gt 1; then
|
||||
abort "Patchset user32-Mouse_Message_Hwnd disabled, but user32-GetPointerType depends on that."
|
||||
fi
|
||||
enable_user32_Mouse_Message_Hwnd=1
|
||||
fi
|
||||
|
||||
if test "$enable_stdole32_tlb_SLTG_Typelib" -eq 1; then
|
||||
if test "$enable_widl_SLTG_Typelib_Support" -gt 1; then
|
||||
abort "Patchset widl-SLTG_Typelib_Support disabled, but stdole32.tlb-SLTG_Typelib depends on that."
|
||||
@ -6709,6 +6720,49 @@ if test "$enable_user32_FlashWindowEx" -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-GetPointerType
|
||||
# |
|
||||
# | This patchset has the following (direct or indirect) dependencies:
|
||||
# | * user32-Mouse_Message_Hwnd
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#45765] Added GetPointerType stub
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/user32/misc.c, dlls/user32/tests/input.c, dlls/user32/user32.spec, include/winuser.h
|
||||
# |
|
||||
if test "$enable_user32_GetPointerType" -eq 1; then
|
||||
patch_apply user32-GetPointerType/0001-user32-Added-GetPointerType-stub.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Louis Lenders", "user32: Added GetPointerType stub.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset user32-GetSystemMetrics
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -6768,31 +6822,6 @@ 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-Refresh_MDI_Menus
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@ -0,0 +1,110 @@
|
||||
From 23971e63a98708060727389e92a3464425543d7c Mon Sep 17 00:00:00 2001
|
||||
From: Louis Lenders <xerox.xerox2000x@gmail.com>
|
||||
Date: Mon, 17 Sep 2018 17:26:21 +0200
|
||||
Subject: [PATCH] user32: Added GetPointerType stub
|
||||
|
||||
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45765
|
||||
---
|
||||
dlls/user32/misc.c | 12 ++++++++++++
|
||||
dlls/user32/tests/input.c | 17 +++++++++++++++++
|
||||
dlls/user32/user32.spec | 1 +
|
||||
include/winuser.h | 1 +
|
||||
4 files changed, 31 insertions(+)
|
||||
|
||||
diff --git a/dlls/user32/misc.c b/dlls/user32/misc.c
|
||||
index c1c812d..647258b 100644
|
||||
--- a/dlls/user32/misc.c
|
||||
+++ b/dlls/user32/misc.c
|
||||
@@ -741,6 +741,18 @@ BOOL WINAPI RegisterTouchHitTestingWindow(HWND hwnd, ULONG value)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+/**********************************************************************
|
||||
+ * GetPointerType [USER32.@]
|
||||
+ */
|
||||
+BOOL WINAPI GetPointerType(UINT32 id, POINTER_INPUT_TYPE *type)
|
||||
+{
|
||||
+ FIXME("(%d %p): stub\n", id, type);
|
||||
+ if(!type)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ *type = PT_MOUSE;
|
||||
+ return TRUE;
|
||||
+}
|
||||
|
||||
static const WCHAR imeW[] = {'I','M','E',0};
|
||||
const struct builtin_class_descr IME_builtin_class =
|
||||
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c
|
||||
index 5fa15af..7338cb3 100644
|
||||
--- a/dlls/user32/tests/input.c
|
||||
+++ b/dlls/user32/tests/input.c
|
||||
@@ -78,6 +78,7 @@ static struct {
|
||||
} key_status;
|
||||
|
||||
static UINT (WINAPI *pSendInput) (UINT, INPUT*, size_t);
|
||||
+static BOOL (WINAPI *pGetPointerType)(UINT32, POINTER_INPUT_TYPE*);
|
||||
static int (WINAPI *pGetMouseMovePointsEx) (UINT, LPMOUSEMOVEPOINT, LPMOUSEMOVEPOINT, int, DWORD);
|
||||
static UINT (WINAPI *pGetRawInputDeviceList) (PRAWINPUTDEVICELIST, PUINT, UINT);
|
||||
static int (WINAPI *pGetWindowRgnBox)(HWND, LPRECT);
|
||||
@@ -163,6 +164,7 @@ static void init_function_pointers(void)
|
||||
trace("GetProcAddress(%s) failed\n", #func);
|
||||
|
||||
GET_PROC(SendInput)
|
||||
+ GET_PROC(GetPointerType)
|
||||
GET_PROC(GetMouseMovePointsEx)
|
||||
GET_PROC(GetRawInputDeviceList)
|
||||
GET_PROC(GetWindowRgnBox)
|
||||
@@ -2874,6 +2876,16 @@ static void test_OemKeyScan(void)
|
||||
}
|
||||
}
|
||||
|
||||
+static void test_GetPointerType(void)
|
||||
+{
|
||||
+ BOOL ret;
|
||||
+ POINTER_INPUT_TYPE type = -1;
|
||||
+
|
||||
+ ret = pGetPointerType(1, &type);
|
||||
+ ok(ret, "GetPointerType failed, got type %d for 1\n", type );
|
||||
+ ok(type != -1, " type %d\n", type );
|
||||
+}
|
||||
+
|
||||
START_TEST(input)
|
||||
{
|
||||
init_function_pointers();
|
||||
@@ -2908,4 +2920,9 @@ START_TEST(input)
|
||||
test_GetRawInputDeviceList();
|
||||
else
|
||||
win_skip("GetRawInputDeviceList is not available\n");
|
||||
+
|
||||
+ if(pGetPointerType)
|
||||
+ test_GetPointerType();
|
||||
+ else
|
||||
+ win_skip("GetPointerType is not available\n");
|
||||
}
|
||||
diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec
|
||||
index 61e0e4e..216a755 100644
|
||||
--- a/dlls/user32/user32.spec
|
||||
+++ b/dlls/user32/user32.spec
|
||||
@@ -355,6 +355,7 @@
|
||||
@ stdcall GetParent(long)
|
||||
@ stdcall GetPhysicalCursorPos(ptr)
|
||||
@ stdcall GetPointerDevices(ptr ptr)
|
||||
+@ stdcall GetPointerType(long ptr)
|
||||
@ stdcall GetPriorityClipboardFormat(ptr long)
|
||||
@ stdcall GetProcessDefaultLayout(ptr)
|
||||
@ stdcall GetProcessDpiAwarenessInternal(long ptr)
|
||||
diff --git a/include/winuser.h b/include/winuser.h
|
||||
index 2c05f26..c5bb679 100644
|
||||
--- a/include/winuser.h
|
||||
+++ b/include/winuser.h
|
||||
@@ -3805,6 +3805,7 @@ WINUSERAPI HWND WINAPI GetNextDlgTabItem(HWND,HWND,BOOL);
|
||||
WINUSERAPI HWND WINAPI GetOpenClipboardWindow(void);
|
||||
WINUSERAPI HWND WINAPI GetParent(HWND);
|
||||
WINUSERAPI BOOL WINAPI GetPhysicalCursorPos(POINT*);
|
||||
+WINUSERAPI BOOL WINAPI GetPointerType(UINT32,POINTER_INPUT_TYPE *);
|
||||
WINUSERAPI INT WINAPI GetPriorityClipboardFormat(UINT*,INT);
|
||||
WINUSERAPI BOOL WINAPI GetProcessDefaultLayout(DWORD*);
|
||||
WINUSERAPI BOOL WINAPI GetProcessDpiAwarenessInternal(HANDLE,DPI_AWARENESS*);
|
||||
--
|
||||
1.9.1
|
||||
|
2
patches/user32-GetPointerType/definition
Normal file
2
patches/user32-GetPointerType/definition
Normal file
@ -0,0 +1,2 @@
|
||||
Fixes: [45765] Added GetPointerType stub
|
||||
Depends: user32-Mouse_Message_Hwnd
|
Loading…
x
Reference in New Issue
Block a user