Closed YaLTeR closed 4 years ago
The core of the issue is that ThemeManager::theme_pointer_with_impl()
does not register the implementation as threadsafe, and as such wayland-client forbids access to the user data from an other thread.
There won't be a satisfying way to fix it API-wise without updating to wayland-client 0.24, which decouples the questions of thread-safety of the implementation & user data.
Following the lib refactor, the Window
can no longer be shared across threads, due to most of its inner workings requiring the creation of new wayland objects, which cannot be safely done from an other thread than the one hosting the event queue.
Example: take
kbd_input.rs
and replace the event loop with the following:Crash: