You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-12 13:20:55 +00:00
Modernize Thread
- Based on C++11's `thread` and `thread_local` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed (except for the few cases of non-portable functions) - Simpler for `NO_THREADS` - Thread ids are now the same across platforms (main is 1; others follow)
This commit is contained in:
@@ -4266,7 +4266,7 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
|
||||
}
|
||||
}
|
||||
|
||||
events_thread = Thread::create(_poll_events_thread, this);
|
||||
events_thread.start(_poll_events_thread, this);
|
||||
|
||||
_update_real_mouse_position(windows[MAIN_WINDOW_ID]);
|
||||
|
||||
@@ -4280,9 +4280,7 @@ DisplayServerX11::~DisplayServerX11() {
|
||||
_clipboard_transfer_ownership(XInternAtom(x11_display, "CLIPBOARD", 0), x11_main_window);
|
||||
|
||||
events_thread_done = true;
|
||||
Thread::wait_to_finish(events_thread);
|
||||
memdelete(events_thread);
|
||||
events_thread = nullptr;
|
||||
events_thread.wait_to_finish();
|
||||
|
||||
//destroy all windows
|
||||
for (Map<WindowID, WindowData>::Element *E = windows.front(); E; E = E->next()) {
|
||||
|
||||
Reference in New Issue
Block a user