Commit: dbca0cc9d5c8c87c12d2eba663aa22072379effc
Author: Campbell Barton
Date: Tue Feb 7 15:09:25 2023 +1100
Branches: master
https://developer.blender.org/rBdbca0cc9d5c8c87c12d2eba663aa22072379effc
Fix crash on exit under Wayland
Order of free error from [0] caused the timer manager
to be freed before the timer.
[0]: 7de1a4d1d81ffd4cd2e75d911426edc847267244
===================================================================
M intern/ghost/intern/GHOST_SystemWayland.cpp
===================================================================
diff --git a/intern/ghost/intern/GHOST_SystemWayland.cpp
b/intern/ghost/intern/GHOST_SystemWayland.cpp
index 014f3d24bae..d3f32cf4450 100644
--- a/intern/ghost/intern/GHOST_SystemWayland.cpp
+++ b/intern/ghost/intern/GHOST_SystemWayland.cpp
@@ -975,9 +975,6 @@ static void gwl_display_destroy(GWL_Display *display)
ghost_wl_display_lock_without_input(display->wl_display,
display->system->server_mutex);
display->events_pthread_is_active = false;
}
-
- delete display->ghost_timer_manager;
- display->ghost_timer_manager = nullptr;
#endif
/* For typical WAYLAND use this will always be set.
@@ -1015,6 +1012,11 @@ static void gwl_display_destroy(GWL_Display *display)
gwl_display_event_thread_destroy(display);
display->system->server_mutex->unlock();
}
+
+ /* Important to remove after the seats which may have key repeat timers
active. */
+ delete display->ghost_timer_manager;
+ display->ghost_timer_manager = nullptr;
+
#endif /* USE_EVENT_BACKGROUND_THREAD */
if (display->wl_display) {
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs