https://bugs.winehq.org/show_bug.cgi?id=47392
Bug ID: 47392 Summary: Drakensang Online crashes when exiting fullscreen Product: Wine Version: 4.10 Hardware: x86 URL: https://www.drakensang.com/en OS: Linux Status: NEW Keywords: download Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: z.figura12@gmail.com Distribution: ---
It calls IDirect3DDevice9::SetCursorProperties() to change the cursor. As a result the current cursor (struct wined3d_device.cursor_texture) is destroyed. Meanwhile, on the CSMT thread, swapchain_gl_present() checks for wined3d_device.cursor_texture, finds it to exist, then attempts to blit from the texture to the backbuffer, and crashes trying to access it, because it has been set to NULL in the meantime.
The fact that this is inherently a race means that probably the crash is intermittent, or takes different forms. Still, it's clear enough that there is some form of missing synchronization. I don't know enough about the context to guess what that should be.