Add VMR7 monitor enumeration GUID patch

This commit is contained in:
Michael Müller 2013-12-31 03:33:23 +01:00
parent 67079f94ae
commit c21aa8beb3
5 changed files with 36 additions and 39 deletions

View File

@ -0,0 +1,32 @@
From a1599a4f45a76a1c1d771e52660c0cdf7e6e19d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 31 Dec 2013 03:23:19 +0100
Subject: quartz: Return increasing monitor GUID on VMR7 monitor enumeration
---
dlls/quartz/vmr9.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c
index 31f3f8e..53e4942 100644
--- a/dlls/quartz/vmr9.c
+++ b/dlls/quartz/vmr9.c
@@ -1314,7 +1314,14 @@ static BOOL CALLBACK get_available_monitors_proc(HMONITOR hmon, HDC hdc, LPRECT
VMRMONITORINFO *info = args->info7++;
memset(info, 0, sizeof(*info));
- info->guid.pGUID = NULL; /* FIXME */
+ if (args->numdev > 0)
+ {
+ info->guid.pGUID = &info->guid.GUID;
+ info->guid.GUID.Data4[7] = args->numdev;
+ }
+ else
+ info->guid.pGUID = NULL;
+
CopyRect(&info->rcMonitor, &mi.rcMonitor);
info->hMon = hmon;
info->dwFlags = mi.dwFlags;
--
1.8.3.2

View File

@ -0,0 +1,3 @@
Revision: 1
Author: Michael Müller
Title: Return increasing monitor GUID on VMR7 monitor enumeration.

View File

@ -1,35 +0,0 @@
From c586d47aabf8741b8526579868c691e77ff5f7c8 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 21 Nov 2013 03:37:31 +0100
Subject: quartz: Workaround Silverlight problems when multiple monitors are
found
---
dlls/quartz/vmr9.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c
index 31f3f8e..20da5b9 100644
--- a/dlls/quartz/vmr9.c
+++ b/dlls/quartz/vmr9.c
@@ -1440,7 +1440,7 @@ static HRESULT WINAPI VMR7MonitorConfig_GetAvailableMonitors(IVMRMonitorConfig *
args.info7 = info;
args.info9 = NULL;
- args.arraysize = arraysize;
+ args.arraysize = 1; /* only return first entry */
args.numdev = 0;
EnumDisplayMonitors(NULL, NULL, get_available_monitors_proc, (LPARAM)&args);
@@ -1540,7 +1540,7 @@ static HRESULT WINAPI VMR9MonitorConfig_GetAvailableMonitors(IVMRMonitorConfig9
args.info7 = NULL;
args.info9 = info;
- args.arraysize = arraysize;
+ args.arraysize = 1; /* only return first entry */
args.numdev = 0;
EnumDisplayMonitors(NULL, NULL, get_available_monitors_proc, (LPARAM)&args);
--
1.7.9.5

View File

@ -1,3 +0,0 @@
Revision: 1
Author: Sebastian Lackner
Title: Workaround Silverlight problems when multiple monitors are found.

View File

@ -50,8 +50,8 @@ index a273502..5fa0cd5 100644
+ { "94186fff-6dbf-44d0-8eb1-2463d1608a0f:1", "Sebastian Lackner", "Update gl_drawable for embedded windows." },
+ { "cbe240e8-2c58-430a-b61c-7fbb9d0e1e11:1", "Sebastian Lackner", "Change return value of stub SetNamedPipeHandleState to TRUE." },
+ { "00273da7-72f8-4025-9e96-0c2bc95dacdb:1", "Maarten Lankhorst", "Winepulse patches extracted from https://launchpad.net/~mlankhorst/+archive/ppa/+files/wine1.7_1.7.7-0ubuntu2~saucy1.debian.tar.gz." },
+ { "31d0e44f-a65b-44c3-a7cc-ab67b4ebaa73:1", "Michael Müller", "Return increasing monitor GUID on VMR7 monitor enumeration." },
+ { "eec5dea8-879d-417b-9f97-364deaae6576:1", "Sebastian Lackner", "Add tests for IVMRMonitorConfig." },
+ { "b2da36a4-2f5d-4ba2-9c66-cd4ccb886f92:1", "Sebastian Lackner", "Workaround Silverlight problems when multiple monitors are found." },
+ { NULL, NULL, NULL }
+};
+