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 Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs