diff options
author | Robin Gareus <robin@gareus.org> | 2017-07-03 14:03:10 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-07-03 14:03:10 +0200 |
commit | d9767b10ac4493cf1b76c6b8afd920e2584ef39e (patch) | |
tree | a24d43fdd187ff747bfd0b0e7d1dd324cbd5ae80 /gtk2_ardour/editor_videotimeline.cc | |
parent | e9ee454cedda06403a57d1e17239fa2fbfb36638 (diff) |
Fix another crash at exit.
During ARDOUR_UI::finish(), after destroying various instances:
close_all_dialogs() -> ArdourDialog::on_response() -> GUIIdle()
The event loop recurses and may execute a previously scheduled
Editor::idle_visual_changer()
Diffstat (limited to 'gtk2_ardour/editor_videotimeline.cc')
-rw-r--r-- | gtk2_ardour/editor_videotimeline.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_videotimeline.cc b/gtk2_ardour/editor_videotimeline.cc index e5f5db3465..e087034af0 100644 --- a/gtk2_ardour/editor_videotimeline.cc +++ b/gtk2_ardour/editor_videotimeline.cc @@ -53,6 +53,9 @@ Editor::set_video_timeline_height (const int h) void Editor::update_video_timeline (bool flush) { + // catch GUIIdle -> Editor::idle_visual_changer during quit/close + assert (ARDOUR_UI::instance()->video_timeline); + if (flush) { ARDOUR_UI::instance()->video_timeline->flush_local_cache(); } |