https://bugs.winehq.org/show_bug.cgi?id=54858
Bug ID: 54858 Summary: Multiple games call for "Windows.System.DispatcherQueue" (Tannenberg, The Last Stand: Aftermath, The Long Dark) Product: Wine Version: 8.6 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: ole32 Assignee: wine-bugs@winehq.org Reporter: andrey.goosev@gmail.com Distribution: ---
Lots of
0e8c:fixme:combase:RoGetActivationFactory (L"Windows.System.DispatcherQueue", {00000035-0000-0000-c000-000000000046}, 00007FEEE4A0FA00): semi-stub 0e8c:err:combase:RoGetActivationFactory Failed to find library for L"Windows.System.DispatcherQueue"
8.6-29-ga19c1ff1697
https://bugs.winehq.org/show_bug.cgi?id=54858
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick@piezo-forte.be
--- Comment #1 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Created attachment 74796 --> https://bugs.winehq.org/attachment.cgi?id=74796 Patch Add Windows.System stub DLL with DispatcherQueue stub.
Hello,
Please test the attached patch.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=54858
--- Comment #2 from Andrey Gusev andrey.goosev@gmail.com --- It fails to build
../wine/dlls/windows.system/main.c:27:20: error: redefinition of 'debugstr_hstring' 27 | static const char *debugstr_hstring( HSTRING hstr ) | ^~~~~~~~~~~~~~~~ In file included from ../wine/dlls/windows.system/main.c:23: ../wine/include/wine/debug.h:511:27: note: previous definition of 'debugstr_hstring' with type 'const char *(struct HSTRING__ *)' 511 | static inline const char *debugstr_hstring( struct HSTRING__ *s ) { return wine_dbgstr_hstring( s ); }
https://bugs.winehq.org/show_bug.cgi?id=54858
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #74796|0 |1 is obsolete| |
--- Comment #3 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Created attachment 74798 --> https://bugs.winehq.org/attachment.cgi?id=74798 Patch Add Windows.System stub DLL with DispatcherQueue stub v2.
Hello,
Thanks for testing.
Commit f4a8ad89d43646a8d109da5747dfb1a92a6d8cd1 broke the patch. Here's an updated one.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=54858
--- Comment #4 from Andrey Gusev andrey.goosev@gmail.com --- Crashes on launch.
dispatcherqueue hasn't any output.
0360:fixme:combase:RoGetActivationFactory (L"Windows.System.DispatcherQueue", {00000035-0000-0000-c000-000000000046}, 00007FA7FC1EFA00): semi-stub 0354:fixme:combase:RoGetActivationFactory (L"Windows.System.DispatcherQueue", {00000035-0000-0000-c000-000000000046}, 00007FA74C47FA00): semi-stub 0360:trace:combase:RoGetActivationFactory Found library L"C:\windows\system32\windows.system.dll" for class L"Windows.System.DispatcherQueue" 0360:trace:combase:RoGetActivationFactory Created interface 00000002067F3030 0354:trace:combase:RoGetActivationFactory Found library L"C:\windows\system32\windows.system.dll" for class L"Windows.System.DispatcherQueue" 0354:trace:combase:RoGetActivationFactory Created interface 00000002067F3030
https://bugs.winehq.org/show_bug.cgi?id=54858
--- Comment #5 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello,
There is indeed a bug with the debug channel name. I could get the output in a WINEDEBUG=+all,-relay and the channel name appears to be mangled like a buffer overflow. I'll need to check that.
The patch adds a stub interface but it's currently empty. The crash is probably caused by the application calling a function not present in the interface. I'll put some function stubs in the next patch, after I get the debug channel issue sorted.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=54858
Mohamad Al-Jaf mowinebugs@mail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mowinebugs@mail.com
--- Comment #6 from Mohamad Al-Jaf mowinebugs@mail.com --- I saw a few games and maybe applications that call this class a number of months ago. However, I haven't across one that won't run without it. The games listed here all work without this class. So adding a stub interface isn't particularly helpful. An implementation would be needed.
From what I read a while ago, DispatcherQueue is mainly used to allow UI threads to run concurrently with other threads.
https://bugs.winehq.org/show_bug.cgi?id=54858
--- Comment #7 from Hans Leidekker hans@meelstraat.net --- (In reply to Olivier F. R. Dierick from comment #5)
Hello,
There is indeed a bug with the debug channel name. I could get the output in a WINEDEBUG=+all,-relay and the channel name appears to be mangled like a buffer overflow. I'll need to check that.
The maximum size for a debug channel name is 15, including null.
https://bugs.winehq.org/show_bug.cgi?id=54858
--- Comment #8 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- (In reply to Hans Leidekker from comment #7)
(In reply to Olivier F. R. Dierick from comment #5)
Hello,
There is indeed a bug with the debug channel name. I could get the output in a WINEDEBUG=+all,-relay and the channel name appears to be mangled like a buffer overflow. I'll need to check that.
The maximum size for a debug channel name is 15, including null.
Hello,
Thanks for the info. I'll probably go with 'dispatcher'.
Then, the 'graphicscapture' channel from dlls/graphicscapture probably needs to be fixed too.
Regards.