summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_videotimeline.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-07-03 14:03:10 +0200
committerRobin Gareus <robin@gareus.org>2017-07-03 14:03:10 +0200
commitd9767b10ac4493cf1b76c6b8afd920e2584ef39e (patch)
treea24d43fdd187ff747bfd0b0e7d1dd324cbd5ae80 /gtk2_ardour/editor_videotimeline.cc
parente9ee454cedda06403a57d1e17239fa2fbfb36638 (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.cc3
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();
}