Changes to Editor::visual_changer to support Item/Canvas::prepare_for_render
[ardour.git] / gtk2_ardour / editor_canvas_events.cc
index 89a8bc6b93fcab3734bb3785fb5f8384d3568f5f..ad1cb8def85cc9fb41a3848ce01c778f4ae01ac1 100644 (file)
@@ -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) {
@@ -1291,7 +1295,7 @@ Editor::drop_regions (const Glib::RefPtr<Gdk::DragContext>& /*context*/,
                                }
                                list<boost::shared_ptr<AudioTrack> > audio_tracks;
                                audio_tracks = session()->new_audio_track (region->n_channels(), output_chan, 0, 1, region->name(), PresentationInfo::max_order);
-                               rtav = dynamic_cast<RouteTimeAxisView*> (axis_view_from_stripable (audio_tracks.front()));
+                               rtav = dynamic_cast<RouteTimeAxisView*> (time_axis_view_from_stripable (audio_tracks.front()));
                        } else if (boost::dynamic_pointer_cast<MidiRegion> (region)) {
                                ChanCount one_midi_port (DataType::MIDI, 1);
                                list<boost::shared_ptr<MidiTrack> > midi_tracks;
@@ -1300,7 +1304,7 @@ Editor::drop_regions (const Glib::RefPtr<Gdk::DragContext>& /*context*/,
                                                                         boost::shared_ptr<ARDOUR::PluginInfo>(),
                                                                         (ARDOUR::Plugin::PresetRecord*) 0,
                                                                         (ARDOUR::RouteGroup*) 0, 1, region->name(), PresentationInfo::max_order);
-                               rtav = dynamic_cast<RouteTimeAxisView*> (axis_view_from_stripable (midi_tracks.front()));
+                               rtav = dynamic_cast<RouteTimeAxisView*> (time_axis_view_from_stripable (midi_tracks.front()));
                        } else {
                                return;
                        }