Another similar fix for use of an uninitialized variable.
[ardour.git] / gtk2_ardour / midi_region_view.cc
index 8c20c02237d4e3c27bcc8f98d30a37e8e2a726fb..aa964749ff8ad4d6507bb04132ef7105617ea2fc 100644 (file)
@@ -195,6 +195,12 @@ MidiRegionView::init (Gdk::Color const & basic_color, bool wfd)
 bool
 MidiRegionView::canvas_event(GdkEvent* ev)
 {
+       PublicEditor& editor (trackview.editor());
+
+       if (!editor.internal_editing()) {
+               return false;
+       }
+
        static double drag_start_x, drag_start_y;
        static double last_x, last_y;
        double event_x, event_y;
@@ -202,11 +208,6 @@ MidiRegionView::canvas_event(GdkEvent* ev)
 
        static ArdourCanvas::SimpleRect* drag_rect = NULL;
 
-       if (trackview.editor().current_mouse_mode() != MouseNote)
-               return false;
-       
-       const Editing::MidiEditMode midi_edit_mode = trackview.editor().current_midi_edit_mode();
-
        switch (ev->type) {
        case GDK_KEY_PRESS:
                if (ev->key.keyval == GDK_Shift_L || ev->key.keyval == GDK_Control_L) {
@@ -262,7 +263,7 @@ MidiRegionView::canvas_event(GdkEvent* ev)
                case Pressed: // Drag start
 
                        // Select drag start
-                       if (_pressed_button == 1 && midi_edit_mode == MidiEditSelect) {
+                       if (_pressed_button == 1 && editor.current_mouse_mode() == MouseRange) {
                                group->grab(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK,
                                                Gdk::Cursor(Gdk::FLEUR), ev->motion.time);
                                last_x = event_x;
@@ -285,7 +286,7 @@ MidiRegionView::canvas_event(GdkEvent* ev)
                                return true;
 
                        // Add note drag start
-                       } else if (midi_edit_mode == MidiEditPencil) {
+                       } else if (editor.current_mouse_mode() == MouseObject) {
                                group->grab(GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK,
                                                Gdk::Cursor(Gdk::FLEUR), ev->motion.time);
                                last_x = event_x;
@@ -365,12 +366,12 @@ MidiRegionView::canvas_event(GdkEvent* ev)
                        
                switch (_mouse_state) {
                case Pressed: // Clicked
-                       switch (midi_edit_mode) {
-                       case MidiEditSelect:
-                       case MidiEditResize:
+                       switch (editor.current_mouse_mode()) {
+                       case MouseRange:
+                       case MouseTimeFX:
                                clear_selection();
                                break;
-                       case MidiEditPencil:
+                       case MouseObject:
                                create_note_at(event_x, event_y, _default_note_length);
                        default: break;
                        }