Rebase against dfde1195385df5ddb11f1104a0e744596b99477f

This commit is contained in:
Zebediah Figura 2018-03-09 20:14:22 -06:00
parent 2ee460d68d
commit 56c6aa09fd
7 changed files with 35 additions and 392 deletions

View File

@ -1,59 +0,0 @@
From affbf584e0987c5b5e9b47051fd7a4a02abe1dd6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 23 Jan 2016 21:00:39 +0100
Subject: [PATCH] ext-ms-win-ntuser-mouse-l1-1-0: Add dll.
---
configure.ac | 1 +
dlls/ext-ms-win-ntuser-mouse-l1-1-0/Makefile.in | 1 +
.../ext-ms-win-ntuser-mouse-l1-1-0.spec | 5 +++++
tools/make_specfiles | 1 +
4 files changed, 8 insertions(+)
create mode 100644 dlls/ext-ms-win-ntuser-mouse-l1-1-0/Makefile.in
create mode 100644 dlls/ext-ms-win-ntuser-mouse-l1-1-0/ext-ms-win-ntuser-mouse-l1-1-0.spec
diff --git a/configure.ac b/configure.ac
index 1e2c19b..ae7d71c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3250,6 +3250,7 @@ WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-gdi-render-l1-1-0)
WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-kernel32-package-current-l1-1-0)
WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-kernel32-package-l1-1-1)
WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-ntuser-message-l1-1-1)
+WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-ntuser-mouse-l1-1-0)
WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-ntuser-private-l1-1-1)
WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-ntuser-rectangle-ext-l1-1-0)
WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-ntuser-uicontext-ext-l1-1-0)
diff --git a/dlls/ext-ms-win-ntuser-mouse-l1-1-0/Makefile.in b/dlls/ext-ms-win-ntuser-mouse-l1-1-0/Makefile.in
new file mode 100644
index 0000000..c408dbb
--- /dev/null
+++ b/dlls/ext-ms-win-ntuser-mouse-l1-1-0/Makefile.in
@@ -0,0 +1 @@
+MODULE = ext-ms-win-ntuser-mouse-l1-1-0.dll
diff --git a/dlls/ext-ms-win-ntuser-mouse-l1-1-0/ext-ms-win-ntuser-mouse-l1-1-0.spec b/dlls/ext-ms-win-ntuser-mouse-l1-1-0/ext-ms-win-ntuser-mouse-l1-1-0.spec
new file mode 100644
index 0000000..22128a2
--- /dev/null
+++ b/dlls/ext-ms-win-ntuser-mouse-l1-1-0/ext-ms-win-ntuser-mouse-l1-1-0.spec
@@ -0,0 +1,5 @@
+@ stdcall GetCapture() user32.GetCapture
+@ stdcall GetDoubleClickTime() user32.GetDoubleClickTime
+@ stdcall ReleaseCapture() user32.ReleaseCapture
+@ stdcall SetCapture(long) user32.SetCapture
+@ stdcall TrackMouseEvent(ptr) user32.TrackMouseEvent
diff --git a/tools/make_specfiles b/tools/make_specfiles
index d2b7175..8255b89 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -357,6 +357,7 @@ my @dll_groups =
"api-ms-win-rtcore-ntuser-wmpointer-l1-1-0",
"api-ms-win-rtcore-ntuser-wmpointer-l1-1-3",
"ext-ms-win-ntuser-message-l1-1-1",
+ "ext-ms-win-ntuser-mouse-l1-1-0",
"ext-ms-win-ntuser-private-l1-1-1",
"ext-ms-win-ntuser-rectangle-ext-l1-1-0",
"api-ms-win-ntuser-rectangle-l1-1-0",
--
2.7.4

View File

@ -1,4 +1,4 @@
From c329dee967eac8a5a1a0d335f04f67d8946e2da5 Mon Sep 17 00:00:00 2001
From 86609e4dc58fefb2f74d51dfb35ea807011184fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 23 Jan 2016 21:08:48 +0100
Subject: [PATCH] api-ms-win-rtcore-ntuser-draw-l1-1-0: Add dll.
@ -13,7 +13,7 @@ Subject: [PATCH] api-ms-win-rtcore-ntuser-draw-l1-1-0: Add dll.
create mode 100644 dlls/api-ms-win-rtcore-ntuser-draw-l1-1-0/api-ms-win-rtcore-ntuser-draw-l1-1-0.spec
diff --git a/configure.ac b/configure.ac
index ef4e930..c8ac777 100644
index 3173b47..a7bdf12 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2997,6 +2997,7 @@ WINE_CONFIG_MAKEFILE(dlls/api-ms-win-ntuser-rectangle-l1-1-0)
@ -22,8 +22,8 @@ index ef4e930..c8ac777 100644
WINE_CONFIG_MAKEFILE(dlls/api-ms-win-power-setting-l1-1-0)
+WINE_CONFIG_MAKEFILE(dlls/api-ms-win-rtcore-ntuser-draw-l1-1-0)
WINE_CONFIG_MAKEFILE(dlls/api-ms-win-rtcore-ntuser-private-l1-1-0)
WINE_CONFIG_MAKEFILE(dlls/api-ms-win-rtcore-ntuser-private-l1-1-4)
WINE_CONFIG_MAKEFILE(dlls/api-ms-win-rtcore-ntuser-window-l1-1-0)
WINE_CONFIG_MAKEFILE(dlls/api-ms-win-rtcore-ntuser-winevent-l1-1-0)
diff --git a/dlls/api-ms-win-rtcore-ntuser-draw-l1-1-0/Makefile.in b/dlls/api-ms-win-rtcore-ntuser-draw-l1-1-0/Makefile.in
new file mode 100644
index 0000000..956f2f3
@ -39,17 +39,17 @@ index 0000000..59900a9
@@ -0,0 +1 @@
+@ stdcall RedrawWindow(long ptr long long) user32.RedrawWindow
diff --git a/tools/make_specfiles b/tools/make_specfiles
index 6824a36..e5e8c20 100755
index d39e0d1..66da5e7 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -351,6 +351,7 @@ my @dll_groups =
@@ -355,6 +355,7 @@ my @dll_groups =
"api-ms-win-core-string-l2-1-0",
"api-ms-win-downlevel-user32-l1-1-0",
"api-ms-win-ntuser-dc-access-l1-1-0",
+ "api-ms-win-rtcore-ntuser-draw-l1-1-0",
"api-ms-win-rtcore-ntuser-private-l1-1-0",
"api-ms-win-rtcore-ntuser-private-l1-1-4",
"api-ms-win-rtcore-ntuser-window-l1-1-0",
"api-ms-win-rtcore-ntuser-winevent-l1-1-0",
--
2.7.4

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "661791cb7ea3757655aeff4fb061ada27a88cecc"
echo "dfde1195385df5ddb11f1104a0e744596b99477f"
}
# Show version information
@ -371,7 +371,6 @@ patch_enable_all ()
enable_user32_ShowWindow="$1"
enable_user32_Sorted_Listbox="$1"
enable_user32_WM_MEASUREITEM="$1"
enable_user32_WindowDisplayAffinity="$1"
enable_user32_lpCreateParams="$1"
enable_uxtheme_CloseThemeClass="$1"
enable_uxtheme_GTK_Theming="$1"
@ -1334,9 +1333,6 @@ patch_enable ()
user32-WM_MEASUREITEM)
enable_user32_WM_MEASUREITEM="$2"
;;
user32-WindowDisplayAffinity)
enable_user32_WindowDisplayAffinity="$2"
;;
user32-lpCreateParams)
enable_user32_lpCreateParams="$2"
;;
@ -2998,9 +2994,8 @@ fi
# | win-shcore-stream-l1-1-0/api-ms-win-shcore-stream-l1-1-0.spec, dlls/api-ms-win-shcore-thread-l1-1-0/Makefile.in, dlls
# | /api-ms-win-shcore-thread-l1-1-0/api-ms-win-shcore-thread-l1-1-0.spec, dlls/ext-ms-win-appmodel-
# | usercontext-l1-1-0/Makefile.in, dlls/ext-ms-win-appmodel-usercontext-l1-1-0/ext-ms-win-appmodel-usercontext-l1-1-0.spec,
# | dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c, dlls/ext-ms-win-ntuser-mouse-l1-1-0/Makefile.in, dlls/ext-ms-win-
# | ntuser-mouse-l1-1-0/ext-ms-win-ntuser-mouse-l1-1-0.spec, dlls/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0/Makefile.in,
# | dlls/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0.spec, dlls/ext-ms-win-uxtheme-
# | dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c, dlls/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0/Makefile.in, dlls
# | /ext-ms-win-rtcore-ntuser-syscolors-l1-1-0/ext-ms-win-rtcore-ntuser-syscolors-l1-1-0.spec, dlls/ext-ms-win-uxtheme-
# | themes-l1-1-0/Makefile.in, dlls/ext-ms-win-uxtheme-themes-l1-1-0/ext-ms-win-uxtheme-themes-l1-1-0.spec, dlls/ext-ms-win-
# | xaml-pal-l1-1-0/Makefile.in, dlls/ext-ms-win-xaml-pal-l1-1-0/ext-ms-win-xaml-pal-l1-1-0.spec, dlls/ext-ms-win-xaml-
# | pal-l1-1-0/main.c, dlls/feclient/Makefile.in, dlls/feclient/feclient.spec, dlls/feclient/main.c,
@ -3016,7 +3011,6 @@ if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
patch_apply api-ms-win-Stub_DLLs/0011-api-ms-win-shcore-thread-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0012-ext-ms-win-xaml-pal-l1-1-0-Add-stub-for-GetThemeServ.patch
patch_apply api-ms-win-Stub_DLLs/0014-api-ms-win-shcore-stream-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0015-ext-ms-win-ntuser-mouse-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0016-ext-ms-win-uxtheme-themes-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0018-ext-ms-win-rtcore-ntuser-syscolors-l1-1-0-Add-dll.patch
patch_apply api-ms-win-Stub_DLLs/0019-api-ms-win-rtcore-ntuser-draw-l1-1-0-Add-dll.patch
@ -3030,7 +3024,6 @@ if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
printf '%s\n' '+ { "Michael Müller", "api-ms-win-shcore-thread-l1-1-0: Add dll.", 1 },';
printf '%s\n' '+ { "Michael Müller", "ext-ms-win-xaml-pal-l1-1-0: Add stub for GetThemeServices.", 1 },';
printf '%s\n' '+ { "Michael Müller", "api-ms-win-shcore-stream-l1-1-0: Add dll.", 1 },';
printf '%s\n' '+ { "Michael Müller", "ext-ms-win-ntuser-mouse-l1-1-0: Add dll.", 1 },';
printf '%s\n' '+ { "Michael Müller", "ext-ms-win-uxtheme-themes-l1-1-0: Add dll.", 1 },';
printf '%s\n' '+ { "Michael Müller", "ext-ms-win-rtcore-ntuser-syscolors-l1-1-0: Add dll.", 1 },';
printf '%s\n' '+ { "Michael Müller", "api-ms-win-rtcore-ntuser-draw-l1-1-0: Add dll.", 1 },';
@ -7978,23 +7971,6 @@ if test "$enable_user32_Sorted_Listbox" -eq 1; then
) >> "$patchlist"
fi
# Patchset user32-WindowDisplayAffinity
# |
# | This patchset fixes the following Wine bugs:
# | * [#44617] Implement stubs for GetWindowDisplayAffinity and SetWindowDisplayAffinity
# |
# | Modified files:
# | * dlls/ext-ms-win-ntuser-uicontext-ext-l1-1-0/ext-ms-win-ntuser-uicontext-ext-l1-1-0.spec, dlls/ext-ms-win-ntuser-
# | window-l1-1-1/ext-ms-win-ntuser-window-l1-1-1.spec, dlls/user32/tests/win.c, dlls/user32/user32.spec, dlls/user32/win.c,
# | include/winuser.h
# |
if test "$enable_user32_WindowDisplayAffinity" -eq 1; then
patch_apply user32-WindowDisplayAffinity/0001-user32-Add-stubs-for-GetWindowDisplayAffinity-and-Se.patch
(
printf '%s\n' '+ { "Michael Müller", "user32: Add stubs for GetWindowDisplayAffinity and SetWindowDisplayAffinity.", 1 },';
) >> "$patchlist"
fi
# Patchset uxtheme-CloseThemeClass
# |
# | This patchset fixes the following Wine bugs:

View File

@ -1,273 +0,0 @@
From aec88fa96675ae6c4b3475167b21a0e3afbc5f88 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 13 Aug 2017 02:09:51 +0200
Subject: [PATCH] user32: Add stubs for GetWindowDisplayAffinity and
SetWindowDisplayAffinity.
---
.../ext-ms-win-ntuser-uicontext-ext-l1-1-0.spec | 4 +-
.../ext-ms-win-ntuser-window-l1-1-1.spec | 4 +-
dlls/user32/tests/win.c | 87 ++++++++++++++++++++++
dlls/user32/user32.spec | 2 +
dlls/user32/win.c | 34 +++++++++
include/winuser.h | 5 ++
6 files changed, 132 insertions(+), 4 deletions(-)
diff --git a/dlls/ext-ms-win-ntuser-uicontext-ext-l1-1-0/ext-ms-win-ntuser-uicontext-ext-l1-1-0.spec b/dlls/ext-ms-win-ntuser-uicontext-ext-l1-1-0/ext-ms-win-ntuser-uicontext-ext-l1-1-0.spec
index 4b563ff..ea155c0 100644
--- a/dlls/ext-ms-win-ntuser-uicontext-ext-l1-1-0/ext-ms-win-ntuser-uicontext-ext-l1-1-0.spec
+++ b/dlls/ext-ms-win-ntuser-uicontext-ext-l1-1-0/ext-ms-win-ntuser-uicontext-ext-l1-1-0.spec
@@ -24,7 +24,7 @@
@ stdcall GetPropW(long wstr) user32.GetPropW
@ stdcall GetShellWindow() user32.GetShellWindow
@ stdcall GetWindow(long long) user32.GetWindow
-@ stub GetWindowDisplayAffinity
+@ stdcall GetWindowDisplayAffinity(long ptr) user32.GetWindowDisplayAffinity
@ stdcall GetWindowInfo(long ptr) user32.GetWindowInfo
@ stdcall GetWindowPlacement(long ptr) user32.GetWindowPlacement
@ stdcall GetWindowRect(long ptr) user32.GetWindowRect
@@ -43,7 +43,7 @@
@ stdcall SetLayeredWindowAttributes(ptr long long long) user32.SetLayeredWindowAttributes
@ stdcall SetParent(long long) user32.SetParent
@ stdcall SetPropW(long wstr long) user32.SetPropW
-@ stub SetWindowDisplayAffinity
+@ stdcall SetWindowDisplayAffinity(long long) user32.SetWindowDisplayAffinity
@ stdcall SetWindowPos(long long long long long long long) user32.SetWindowPos
@ stdcall SetWindowTextW(long wstr) user32.SetWindowTextW
@ stdcall SetWindowsHookExW(long long long long) user32.SetWindowsHookExW
diff --git a/dlls/ext-ms-win-ntuser-window-l1-1-1/ext-ms-win-ntuser-window-l1-1-1.spec b/dlls/ext-ms-win-ntuser-window-l1-1-1/ext-ms-win-ntuser-window-l1-1-1.spec
index 4b563ff..ea155c0 100644
--- a/dlls/ext-ms-win-ntuser-window-l1-1-1/ext-ms-win-ntuser-window-l1-1-1.spec
+++ b/dlls/ext-ms-win-ntuser-window-l1-1-1/ext-ms-win-ntuser-window-l1-1-1.spec
@@ -24,7 +24,7 @@
@ stdcall GetPropW(long wstr) user32.GetPropW
@ stdcall GetShellWindow() user32.GetShellWindow
@ stdcall GetWindow(long long) user32.GetWindow
-@ stub GetWindowDisplayAffinity
+@ stdcall GetWindowDisplayAffinity(long ptr) user32.GetWindowDisplayAffinity
@ stdcall GetWindowInfo(long ptr) user32.GetWindowInfo
@ stdcall GetWindowPlacement(long ptr) user32.GetWindowPlacement
@ stdcall GetWindowRect(long ptr) user32.GetWindowRect
@@ -43,7 +43,7 @@
@ stdcall SetLayeredWindowAttributes(ptr long long long) user32.SetLayeredWindowAttributes
@ stdcall SetParent(long long) user32.SetParent
@ stdcall SetPropW(long wstr long) user32.SetPropW
-@ stub SetWindowDisplayAffinity
+@ stdcall SetWindowDisplayAffinity(long long) user32.SetWindowDisplayAffinity
@ stdcall SetWindowPos(long long long long long long long) user32.SetWindowPos
@ stdcall SetWindowTextW(long wstr) user32.SetWindowTextW
@ stdcall SetWindowsHookExW(long long long long) user32.SetWindowsHookExW
diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c
index 96a2467..6cd1bd8 100644
--- a/dlls/user32/tests/win.c
+++ b/dlls/user32/tests/win.c
@@ -67,6 +67,8 @@ static BOOL (WINAPI *pFlashWindowEx)( PFLASHWINFO pfwi );
static DWORD (WINAPI *pSetLayout)(HDC hdc, DWORD layout);
static DWORD (WINAPI *pGetLayout)(HDC hdc);
static BOOL (WINAPI *pMirrorRgn)(HWND hwnd, HRGN hrgn);
+static BOOL (WINAPI *pGetWindowDisplayAffinity)(HWND hwnd, DWORD *affinity);
+static BOOL (WINAPI *pSetWindowDisplayAffinity)(HWND hwnd, DWORD affinity);
static BOOL test_lbuttondown_flag;
static DWORD num_gettext_msgs;
@@ -10433,6 +10435,88 @@ if (!is_wine) /* FIXME: remove once Wine is fixed */
DestroyWindow(owner);
}
+static void test_display_affinity( HWND win )
+{
+ DWORD affinity;
+ BOOL ret, dwm;
+ LONG styleex;
+
+ if (!pGetWindowDisplayAffinity || !pSetWindowDisplayAffinity)
+ {
+ win_skip("GetWindowDisplayAffinity or SetWindowDisplayAffinity missing\n");
+ return;
+ }
+
+ ret = pGetWindowDisplayAffinity(NULL, NULL);
+ ok(!ret, "GetWindowDisplayAffinity succeeded\n");
+ ok(GetLastError() == ERROR_INVALID_WINDOW_HANDLE, "Expected ERROR_INVALID_WINDOW_HANDLE, got %u\n", GetLastError());
+
+ ret = pGetWindowDisplayAffinity(NULL, &affinity);
+ ok(!ret, "GetWindowDisplayAffinity succeeded\n");
+ ok(GetLastError() == ERROR_INVALID_WINDOW_HANDLE, "Expected ERROR_INVALID_WINDOW_HANDLE, got %u\n", GetLastError());
+
+ ret = pGetWindowDisplayAffinity(win, NULL);
+ ok(!ret, "GetWindowDisplayAffinity succeeded\n");
+ ok(GetLastError() == ERROR_NOACCESS, "Expected ERROR_NOACCESS, got %u\n", GetLastError());
+
+ styleex = GetWindowLongW(win, GWL_EXSTYLE);
+ SetWindowLongW(win, GWL_EXSTYLE, styleex & ~WS_EX_LAYERED);
+
+ affinity = 0xdeadbeef;
+ ret = pGetWindowDisplayAffinity(win, &affinity);
+ ok(ret, "GetWindowDisplayAffinity failed with %u\n", GetLastError());
+ ok(affinity == WDA_NONE, "Expected WDA_NONE, got 0x%x\n", affinity);
+
+ /* Windows 7 fails with ERROR_NOT_ENOUGH_MEMORY when dwm compositing is disabled */
+ ret = pSetWindowDisplayAffinity(win, WDA_MONITOR);
+ ok(ret || GetLastError() == ERROR_NOT_ENOUGH_MEMORY,
+ "SetWindowDisplayAffinity failed with %u\n", GetLastError());
+ dwm = ret;
+
+ affinity = 0xdeadbeef;
+ ret = pGetWindowDisplayAffinity(win, &affinity);
+ ok(ret, "GetWindowDisplayAffinity failed with %u\n", GetLastError());
+ if (dwm) ok(affinity == WDA_MONITOR, "Expected WDA_MONITOR, got 0x%x\n", affinity);
+ else ok(affinity == WDA_NONE, "Expected WDA_NONE, got 0x%x\n", affinity);
+
+ ret = pSetWindowDisplayAffinity(win, WDA_NONE);
+ ok(ret || GetLastError() == ERROR_NOT_ENOUGH_MEMORY,
+ "SetWindowDisplayAffinity failed with %u\n", GetLastError());
+
+ affinity = 0xdeadbeef;
+ ret = pGetWindowDisplayAffinity(win, &affinity);
+ ok(ret, "GetWindowDisplayAffinity failed with %u\n", GetLastError());
+ ok(affinity == WDA_NONE, "Expected WDA_NONE, got 0x%x\n", affinity);
+
+ SetWindowLongW(win, GWL_EXSTYLE, styleex | WS_EX_LAYERED);
+
+ affinity = 0xdeadbeef;
+ ret = pGetWindowDisplayAffinity(win, &affinity);
+ ok(ret, "GetWindowDisplayAffinity failed with %u\n", GetLastError());
+ ok(affinity == WDA_NONE, "Expected WDA_NONE, got 0x%x\n", affinity);
+
+ ret = pSetWindowDisplayAffinity(win, WDA_MONITOR);
+ ok(ret || GetLastError() == ERROR_NOT_ENOUGH_MEMORY,
+ "SetWindowDisplayAffinity failed with %u\n", GetLastError());
+
+ affinity = 0xdeadbeef;
+ ret = pGetWindowDisplayAffinity(win, &affinity);
+ ok(ret, "GetWindowDisplayAffinity failed with %u\n", GetLastError());
+ if (dwm) ok(affinity == WDA_MONITOR, "Expected WDA_MONITOR, got 0x%x\n", affinity);
+ else ok(affinity == WDA_NONE, "Expected WDA_NONE, got 0x%x\n", affinity);
+
+ ret = pSetWindowDisplayAffinity(win, WDA_NONE);
+ ok(ret || GetLastError() == ERROR_NOT_ENOUGH_MEMORY,
+ "SetWindowDisplayAffinity failed with %u\n", GetLastError());
+
+ affinity = 0xdeadbeef;
+ ret = pGetWindowDisplayAffinity(win, &affinity);
+ ok(ret, "GetWindowDisplayAffinity failed with %u\n", GetLastError());
+ ok(affinity == WDA_NONE, "Expected WDA_NONE, got 0x%x\n", affinity);
+
+ SetWindowLongW(win, GWL_EXSTYLE, styleex);
+}
+
START_TEST(win)
{
char **argv;
@@ -10457,6 +10541,8 @@ START_TEST(win)
pGetLayout = (void *)GetProcAddress( gdi32, "GetLayout" );
pSetLayout = (void *)GetProcAddress( gdi32, "SetLayout" );
pMirrorRgn = (void *)GetProcAddress( gdi32, "MirrorRgn" );
+ pGetWindowDisplayAffinity = (void *)GetProcAddress( user32, "GetWindowDisplayAffinity" );
+ pSetWindowDisplayAffinity = (void *)GetProcAddress( user32, "SetWindowDisplayAffinity" );
if (argc==4 && !strcmp(argv[2], "create_children"))
{
@@ -10581,6 +10667,7 @@ START_TEST(win)
test_deferwindowpos();
test_LockWindowUpdate(hwndMain);
test_desktop();
+ test_display_affinity(hwndMain);
test_hide_window();
test_minimize_window(hwndMain);
diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec
index e45cafa..f601d7d 100644
--- a/dlls/user32/user32.spec
+++ b/dlls/user32/user32.spec
@@ -388,6 +388,7 @@
@ stdcall GetWindow(long long)
@ stdcall GetWindowContextHelpId(long)
@ stdcall GetWindowDC(long)
+@ stdcall GetWindowDisplayAffinity(long ptr)
@ stdcall GetWindowInfo(long ptr)
@ stdcall GetWindowLongA(long long)
@ stdcall -arch=win64 GetWindowLongPtrA(long long)
@@ -691,6 +692,7 @@
@ stdcall SetUserObjectSecurity(long ptr ptr)
@ stdcall SetWinEventHook(long long long ptr long long long)
@ stdcall SetWindowContextHelpId(long long)
+@ stdcall SetWindowDisplayAffinity(long long)
@ stub SetWindowFullScreenState
@ stdcall SetWindowLongA(long long long)
@ stdcall -arch=win64 SetWindowLongPtrA(long long long)
diff --git a/dlls/user32/win.c b/dlls/user32/win.c
index b13032b..794f333 100644
--- a/dlls/user32/win.c
+++ b/dlls/user32/win.c
@@ -4029,3 +4029,37 @@ BOOL WINAPI GetGestureInfo(HGESTUREINFO handle, PGESTUREINFO ptr)
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
+
+/*****************************************************************************
+ * GetWindowDisplayAffinity (USER32.@)
+ */
+BOOL WINAPI GetWindowDisplayAffinity(HWND hwnd, DWORD *affinity)
+{
+ FIXME("(%p, %p): stub\n", hwnd, affinity);
+
+ if (!hwnd || !affinity)
+ {
+ SetLastError(hwnd ? ERROR_NOACCESS : ERROR_INVALID_WINDOW_HANDLE);
+ return FALSE;
+ }
+
+ *affinity = WDA_NONE;
+ return TRUE;
+}
+
+/*****************************************************************************
+ * SetWindowDisplayAffinity (USER32.@)
+ */
+BOOL WINAPI SetWindowDisplayAffinity(HWND hwnd, DWORD affinity)
+{
+ FIXME("(%p, %u): stub\n", hwnd, affinity);
+
+ if (!hwnd)
+ {
+ SetLastError(ERROR_INVALID_WINDOW_HANDLE);
+ return FALSE;
+ }
+
+ SetLastError(ERROR_NOT_ENOUGH_MEMORY);
+ return FALSE;
+}
diff --git a/include/winuser.h b/include/winuser.h
index 05bf590..08a0298 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -2533,6 +2533,9 @@ typedef struct tagMINIMIZEDMETRICS {
int iArrange;
} MINIMIZEDMETRICS, *PMINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;
+/* Window affinity */
+#define WDA_NONE 0x0
+#define WDA_MONITOR 0x1
/* Window scrolling */
#define SW_SCROLLCHILDREN 0x0001
@@ -3771,6 +3774,7 @@ WINUSERAPI BOOL WINAPI GetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION
WINUSERAPI HWND WINAPI GetWindow(HWND,UINT);
WINUSERAPI DWORD WINAPI GetWindowContextHelpId(HWND);
WINUSERAPI HDC WINAPI GetWindowDC(HWND);
+WINUSERAPI BOOL WINAPI GetWindowDisplayAffinity(HWND,DWORD*);
WINUSERAPI BOOL WINAPI GetWindowInfo(HWND, PWINDOWINFO);
WINUSERAPI LONG WINAPI GetWindowLongA(HWND,INT);
WINUSERAPI LONG WINAPI GetWindowLongW(HWND,INT);
@@ -4073,6 +4077,7 @@ WINUSERAPI BOOL WINAPI SetUserObjectInformationW(HANDLE,INT,LPVOID,DWORD)
#define SetUserObjectInformation WINELIB_NAME_AW(SetUserObjectInformation)
WINUSERAPI BOOL WINAPI SetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
WINUSERAPI BOOL WINAPI SetWindowContextHelpId(HWND,DWORD);
+WINUSERAPI BOOL WINAPI SetWindowDisplayAffinity(HWND,DWORD);
WINUSERAPI LONG WINAPI SetWindowLongA(HWND,INT,LONG);
WINUSERAPI LONG WINAPI SetWindowLongW(HWND,INT,LONG);
#define SetWindowLong WINELIB_NAME_AW(SetWindowLong)
--
2.7.4

View File

@ -1 +0,0 @@
Fixes: [44617] Implement stubs for GetWindowDisplayAffinity and SetWindowDisplayAffinity

View File

@ -271,7 +271,7 @@ diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -2418,7 +2418,11 @@ BOOL texture2d_load_texture(struct wined3d_texture *texture, unsigned int sub_re
@@ -2406,7 +2406,11 @@ BOOL texture2d_load_texture(struct wined3d_texture *texture, unsigned int sub_re
/* Don't use PBOs for converted surfaces. During PBO conversion we look at
* WINED3D_TEXTURE_CONVERTED but it isn't set (yet) in all cases it is
* getting called. */

View File

@ -1,4 +1,4 @@
From 5ecc03f8c488e0b700c8413ec81cbd60ce83bed8 Mon Sep 17 00:00:00 2001
From 2ed127d65bdd85581d8d7fb50bde99a8c1354268 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 20 Jul 2017 13:50:07 +0200
Subject: [PATCH] wined3d: Implement all 8 d3d11 color write masks.
@ -17,10 +17,10 @@ Subject: [PATCH] wined3d: Implement all 8 d3d11 color write masks.
10 files changed, 72 insertions(+), 70 deletions(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 9c9b730..bfcd139 100644
index 835ea8b..2ef9b46 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -2067,6 +2067,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi
@@ -688,6 +688,7 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi
static const float default_blend_factor[] = {1.0f, 1.0f, 1.0f, 1.0f};
struct d3d_blend_state *blend_state_impl;
const D3D11_BLEND_DESC *desc;
@ -28,7 +28,7 @@ index 9c9b730..bfcd139 100644
TRACE("iface %p, blend_state %p, blend_factor %s, sample_mask 0x%08x.\n",
iface, blend_state, debug_float4(blend_factor), sample_mask);
@@ -2081,14 +2082,11 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi
@@ -702,14 +703,11 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi
{
wined3d_device_set_blend_state(device->wined3d_device, NULL);
wined3d_device_set_render_state(device->wined3d_device, WINED3D_RS_ALPHABLENDENABLE, FALSE);
@ -48,7 +48,7 @@ index 9c9b730..bfcd139 100644
wined3d_mutex_unlock();
return;
}
@@ -2116,14 +2114,13 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi
@@ -737,14 +735,13 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_OMSetBlendState(ID3D11Devi
|| d->DestBlendAlpha == D3D11_BLEND_BLEND_FACTOR || d->DestBlendAlpha == D3D11_BLEND_INV_BLEND_FACTOR))
FIXME("Ignoring blend factor %s.\n", debug_float4(blend_factor));
}
@ -86,10 +86,10 @@ index a14c9d3..2bec92e 100644
/* glEnableIndexedEXT(GL_BLEND, ...) */
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index db710be..786a7d8 100644
index 60bf52b..15981ea 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -2597,10 +2597,8 @@ static void SetupForBlit(const struct wined3d_device *device, struct wined3d_con
@@ -2587,10 +2587,8 @@ static void SetupForBlit(const struct wined3d_device *device, struct wined3d_con
}
gl_info->gl_ops.gl.p_glColorMask(GL_TRUE, GL_TRUE,GL_TRUE,GL_TRUE);
checkGLcall("glColorMask");
@ -102,7 +102,7 @@ index db710be..786a7d8 100644
if (gl_info->supported[EXT_SECONDARY_COLOR])
{
gl_info->gl_ops.gl.p_glDisable(GL_COLOR_SUM_EXT);
@@ -4856,7 +4854,7 @@ void draw_primitive(struct wined3d_device *device, const struct wined3d_state *s
@@ -4829,7 +4827,7 @@ void draw_primitive(struct wined3d_device *device, const struct wined3d_state *s
if (!(rtv = fb->render_targets[i]) || rtv->format->id == WINED3DFMT_NULL)
continue;
@ -112,7 +112,7 @@ index db710be..786a7d8 100644
wined3d_rendertarget_view_load_location(rtv, context, rtv->resource->draw_binding);
wined3d_rendertarget_view_invalidate_location(rtv, ~rtv->resource->draw_binding);
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index d3f0aea..62c737d 100644
index 92dfa0c..7e14b88 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -383,10 +383,8 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c
@ -129,10 +129,10 @@ index d3f0aea..62c737d 100644
checkGLcall("glClearColor");
clear_mask = clear_mask | GL_COLOR_BUFFER_BIT;
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 4ecd336..2f506c3 100644
index 9753186..d0a76a1 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -1566,9 +1566,6 @@ static void state_debug_monitor(struct wined3d_context *context, const struct wi
@@ -1556,9 +1556,6 @@ static void state_debug_monitor(struct wined3d_context *context, const struct wi
static void state_colorwrite(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
{
DWORD mask0 = state->render_states[WINED3D_RS_COLORWRITEENABLE];
@ -142,7 +142,7 @@ index 4ecd336..2f506c3 100644
const struct wined3d_gl_info *gl_info = context->gl_info;
TRACE("Color mask: r(%d) g(%d) b(%d) a(%d)\n",
@@ -1582,13 +1579,7 @@ static void state_colorwrite(struct wined3d_context *context, const struct wined
@@ -1572,13 +1569,7 @@ static void state_colorwrite(struct wined3d_context *context, const struct wined
mask0 & WINED3DCOLORWRITEENABLE_ALPHA ? GL_TRUE : GL_FALSE);
checkGLcall("glColorMask(...)");
@ -157,7 +157,7 @@ index 4ecd336..2f506c3 100644
}
static void set_color_mask(const struct wined3d_gl_info *gl_info, UINT index, DWORD mask)
@@ -1601,24 +1592,20 @@ static void set_color_mask(const struct wined3d_gl_info *gl_info, UINT index, DW
@@ -1591,24 +1582,20 @@ static void set_color_mask(const struct wined3d_gl_info *gl_info, UINT index, DW
checkGLcall("glColorMaski");
}
@ -192,7 +192,7 @@ index 4ecd336..2f506c3 100644
}
static void state_localviewer(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
@@ -5278,18 +5265,26 @@ const struct StateEntryTemplate misc_state_template[] =
@@ -5265,18 +5252,26 @@ const struct StateEntryTemplate misc_state_template[] =
{ STATE_RENDER(WINED3D_RS_MULTISAMPLEANTIALIAS), { STATE_RENDER(WINED3D_RS_MULTISAMPLEANTIALIAS), state_msaa_w }, WINED3D_GL_EXT_NONE },
{ STATE_RENDER(WINED3D_RS_MULTISAMPLEMASK), { STATE_RENDER(WINED3D_RS_MULTISAMPLEMASK), state_multisampmask }, WINED3D_GL_EXT_NONE },
{ STATE_RENDER(WINED3D_RS_DEBUGMONITORTOKEN), { STATE_RENDER(WINED3D_RS_DEBUGMONITORTOKEN), state_debug_monitor }, WINED3D_GL_EXT_NONE },
@ -269,18 +269,18 @@ index b9efcec..c9b3527 100644
/* Texture Stage States - Put directly into state block, we will call function below */
for (i = 0; i < MAX_TEXTURES; ++i)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 6ef167f..0072479 100644
index fa25b03..c46b9b1 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -378,6 +378,7 @@ static void texture2d_blt_fbo(const struct wined3d_device *device, struct wined3
RECT src_rect, dst_rect;
GLenum gl_filter;
GLenum buffer;
RECT s, d;
+ int i;
TRACE("device %p, context %p, filter %s, src_texture %p, src_sub_resource_idx %u, src_location %s, "
"src_rect %s, dst_texture %p, dst_sub_resource_idx %u, dst_location %s, dst_rect %s.\n",
@@ -489,10 +490,8 @@ static void texture2d_blt_fbo(const struct wined3d_device *device, struct wined3
@@ -490,10 +491,8 @@ static void texture2d_blt_fbo(const struct wined3d_device *device, struct wined3
context_invalidate_state(context, STATE_FRAMEBUFFER);
gl_info->gl_ops.gl.p_glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
@ -294,10 +294,10 @@ index 6ef167f..0072479 100644
gl_info->gl_ops.gl.p_glDisable(GL_SCISSOR_TEST);
context_invalidate_state(context, STATE_RENDER(WINED3D_RS_SCISSORTESTENABLE));
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 17abf76..4a21c12 100644
index 304214f..7cb2007 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -4443,7 +4443,6 @@ const char *debug_d3drenderstate(enum wined3d_render_state state)
@@ -4442,7 +4442,6 @@ const char *debug_d3drenderstate(enum wined3d_render_state state)
D3DSTATE_TO_STR(WINED3D_RS_DEBUGMONITORTOKEN);
D3DSTATE_TO_STR(WINED3D_RS_POINTSIZE_MAX);
D3DSTATE_TO_STR(WINED3D_RS_INDEXEDVERTEXBLENDENABLE);
@ -305,7 +305,7 @@ index 17abf76..4a21c12 100644
D3DSTATE_TO_STR(WINED3D_RS_TWEENFACTOR);
D3DSTATE_TO_STR(WINED3D_RS_BLENDOP);
D3DSTATE_TO_STR(WINED3D_RS_POSITIONDEGREE);
@@ -4463,9 +4462,14 @@ const char *debug_d3drenderstate(enum wined3d_render_state state)
@@ -4462,9 +4461,14 @@ const char *debug_d3drenderstate(enum wined3d_render_state state)
D3DSTATE_TO_STR(WINED3D_RS_BACK_STENCILZFAIL);
D3DSTATE_TO_STR(WINED3D_RS_BACK_STENCILPASS);
D3DSTATE_TO_STR(WINED3D_RS_BACK_STENCILFUNC);
@ -321,10 +321,10 @@ index 17abf76..4a21c12 100644
D3DSTATE_TO_STR(WINED3D_RS_SRGBWRITEENABLE);
D3DSTATE_TO_STR(WINED3D_RS_DEPTHBIAS);
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 3137e7a..aeeb912 100644
index e3d669a..45a7903 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -277,6 +277,7 @@ static inline enum complex_fixup get_complex_fixup(struct color_fixup_desc fixup
@@ -276,6 +276,7 @@ static inline enum complex_fixup get_complex_fixup(struct color_fixup_desc fixup
#define MAX_TGSM_REGISTERS 8192
#define MAX_VERTEX_BLENDS 4
#define MAX_MULTISAMPLE_TYPES 8
@ -333,10 +333,10 @@ index 3137e7a..aeeb912 100644
struct min_lookup
{
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index a51ca53..b68e921 100644
index 8864965..58da08c 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -390,8 +390,20 @@ enum wined3d_render_state
@@ -388,8 +388,20 @@ enum wined3d_render_state
WINED3D_RS_BLENDOPALPHA = 209,
WINED3D_RS_DEPTHCLIP = 210,
WINED3D_RS_DEPTHBIASCLAMP = 211,
@ -359,5 +359,5 @@ index a51ca53..b68e921 100644
enum wined3d_blend
{
--
1.9.1
2.7.4