Module: wine
Branch: master
Commit: 60ef0f86772559187c04098e4c3d8b4678062a1c
URL: https://gitlab.winehq.org/wine/wine/-/commit/60ef0f86772559187c04098e4c3d8b…
Author: Olivier F. R. Dierick <o.dierick(a)piezo-forte.be>
Date: Wed Oct 6 19:59:25 2021 +0200
dxdiag: Ignore option /64bit on the commandline.
The builtin dxdiag doesn't know about option /64bit and display an
error dialog. Some games use that option internally on startup and the
dialog is annoying.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49964
---
programs/dxdiag/main.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/programs/dxdiag/main.c b/programs/dxdiag/main.c
index f57eec99292..b6ea5306d06 100644
--- a/programs/dxdiag/main.c
+++ b/programs/dxdiag/main.c
@@ -159,6 +159,12 @@ static BOOL process_command_line(const WCHAR *cmdline, struct command_line_info
break;
+ case '6':
+ if (wcsnicmp(cmdline, L"64bit", 5))
+ return FALSE;
+ cmdline += 5;
+ break;
+
case 'd':
case 'D':
if (wcsnicmp(cmdline, L"dontskip", 8))
Module: wine
Branch: master
Commit: 8d11327ecfc515f8156ae6d19c3c86627c0a2411
URL: https://gitlab.winehq.org/wine/wine/-/commit/8d11327ecfc515f8156ae6d19c3c86…
Author: Connor McAdams <cmcadams(a)codeweavers.com>
Date: Fri May 5 14:20:13 2023 -0400
combase: Check that process ID matches before searching the MTA for a stub manager.
Now that MTA objects across processes share a value of 0 in the Data2
field of the stub manager IPID, make sure that we only search the MTA
for stub managers that reside in the current process.
Signed-off-by: Connor McAdams <cmcadams(a)codeweavers.com>
---
dlls/combase/stubmanager.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/combase/stubmanager.c b/dlls/combase/stubmanager.c
index 5bb87c60c1d..ff8937d7bd7 100644
--- a/dlls/combase/stubmanager.c
+++ b/dlls/combase/stubmanager.c
@@ -499,13 +499,13 @@ static HRESULT ipid_to_ifstub(const IPID *ipid, struct apartment **stub_apt,
/* FIXME: hack for IRemUnknown */
if (ipid->Data2 == 0xffff)
*stub_apt = apartment_findfromoxid(*(const OXID *)ipid->Data4);
- else if (!ipid->Data2)
+ else if (!ipid->Data2 && (ipid->Data3 == (USHORT)GetCurrentProcessId()))
*stub_apt = apartment_get_mta();
else
*stub_apt = apartment_findfromtid(ipid->Data2);
if (!*stub_apt)
{
- TRACE("Couldn't find apartment corresponding to TID 0x%04x\n", ipid->Data2);
+ TRACE("Couldn't find apartment corresponding to TID 0x%04x, PID 0x%04x\n", ipid->Data2, ipid->Data3);
return RPC_E_INVALID_OBJECT;
}
*stubmgr_ret = get_stub_manager_from_ipid(*stub_apt, ipid, ifstub);