[Bug 52508] EnumDisplayDevices() fails in obscure ways on 32-bit arch when 64-bit Vulkan is present but 32-bit is missing
WineHQ Bugzilla
wine-bugs at winehq.org
Fri Apr 22 13:46:17 CDT 2022
https://bugs.winehq.org/show_bug.cgi?id=52508
--- Comment #5 from Zeb Figura <z.figura12 at gmail.com> ---
(In reply to Zhiyi Zhang from comment #4)
> Actually, there is a mechanism to let only
> the first process initialize monitors. That's what the force parameter in
> X11DRV_DisplayDevices_Init() is for. Maybe recent win32u work changed its
> behavior or the first process to create windows isn't always 64-bit.
As far as I can tell that function ends up getting called with force == TRUE
once for each process that calls GetDesktopWindow() (plus once for explorer.exe
itself). The call chain goes:
GetDesktopWindow()
-> retrieve top_window from server, call user_driver->pCreateDesktopWindow()
-> X11DRV_CreateDesktopWindow()
-> root_window is not yet initialized; call X11DRV_init_desktop()
-> set virtual desktop handler, call X11DRV_DisplayDevices_Init( TRUE )
The code organization here is too unclear for me to tell where the fault lies.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list