Ryan C. Gordon
Ryan C. Gordon
Fix had unintended consequences, reopening to revisit this issue.
My assumption is that they won't work on some platforms, so I made an arbitrary call there. We can change that if it's too aggressive, though.
So, at the moment, there's no lock, global or otherwise, and the even before we get to the platform layer, [we already have race conditions](https://github.com/libsdl-org/SDL/blob/850158f83f3e311dbb741d85ca0e3f5cb12152a8/src/video/SDL_clipboard.c#L83-L89).
Unlike my previous rant about Emscripten proxying _everything_, clipboard stuff would actually be a totally reasonable thing to proxy to the main thread if necessary, if a specific platform needs...
> Does this mean that you would block a thread calling clipboard functions until the next SDL_PumpEvents() call from the main thread? That's my thought, but only a) if we...
This isn't on _my_ TODO list at the moment, but I am _very_ interested in the final result not being tied to one programming language, so it could definitely be...
If your on SDL3, you're using the GPU backend by default, probably, which is new code backed by new code. Force it with "gpu" instead of "direct3d12" to confirm.
This needs to be fixed in sdl12-compat to work like classic 1.2, even if it seems like the less correct behavior. I would recommend reverting the patch in your code...
This reproduces for me here, I'm looking into it.
Wait, this doesn't reproduce for me, after all...it's just choosing a wrong default device at the system level (in my case, "Built-in Audio Digital Stereo (IEC958)", which doesn't have anything...