summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-04-20 19:41:06 +0200
committerRobin Gareus <robin@gareus.org>2017-04-20 19:41:06 +0200
commit9218ccb3b2717d58a98c098fc6810f5bf39999f2 (patch)
tree456c5c62775b9d8bc2893e2ad78472f3695d0320
parent39c2b544f034f7289a8efdeed6817dd2ef8a5bea (diff)
Fix crash when clicking on the canvas while un/loading a session.
GTK events are still handled while un/loading a session (e.g display "Loading" message or showing the splash triggers an event-loop run). Global canvas elements (e.g. Rulers) may respond to session-specific actions.
-rw-r--r--gtk2_ardour/editor_canvas_events.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc
index 89a8bc6b93..132f6f870b 100644
--- a/gtk2_ardour/editor_canvas_events.cc
+++ b/gtk2_ardour/editor_canvas_events.cc
@@ -198,6 +198,10 @@ Editor::track_canvas_motion_notify_event (GdkEventMotion */*event*/)
bool
Editor::typed_event (ArdourCanvas::Item* item, GdkEvent *event, ItemType type)
{
+ if (!session () || session()->loading () || session()->deletion_in_progress ()) {
+ return false;
+ }
+
gint ret = FALSE;
switch (event->type) {