small fix for button2 clicks on redirects; make gdk_window_set_debug_updates() access...
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 20 Sep 2007 01:19:59 +0000 (01:19 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 20 Sep 2007 01:19:59 +0000 (01:19 +0000)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2472 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/ardour_ui.cc
gtk2_ardour/editor_canvas_events.cc
gtk2_ardour/redirect_box.cc

index 83cf66f1fbda73f45b18257a0836e45d856c13eb..3c48980694fc50cdeaa3c4758887a3f4bfe912bb 100644 (file)
@@ -153,6 +153,10 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[])
        using namespace Gtk::Menu_Helpers;
 
        Gtkmm2ext::init();
+
+       if (getenv ("ARDOUR_DEBUG_UPDATES")) {
+               gdk_window_set_debug_updates (true);
+       }
        
        about = 0;
 
index bdae41f7ba0ed3d3b6de6f368efc166e79b648a8..73e890e8a085cb47615f2d89c31cb32c9e1c6139 100644 (file)
@@ -74,7 +74,7 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
                        
                        nframes_t where = event_frame (&event, 0, 0);
                        temporal_zoom_to_frame (false, where);
-                       return true;
+                       ret = true;
                } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::Shift)) {
                        if (!current_stepping_trackview) {
                                step_timeout = Glib::signal_timeout().connect (mem_fun(*this, &Editor::track_height_step_timeout), 500);
@@ -84,10 +84,10 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
                        }
                        gettimeofday (&last_track_height_step_timestamp, 0);
                        current_stepping_trackview->step_height (true);
-                       return true;
+                       ret = true;
                } else {
                        scroll_tracks_up_line ();
-                       return true;
+                       ret = true;
                }
                break;
        case GDK_SCROLL_DOWN:
@@ -105,7 +105,7 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
                        
                        nframes_t where = event_frame (&event, 0, 0);
                        temporal_zoom_to_frame (true, where);
-                       return true;
+                       ret = true;
                } else if (Keyboard::modifier_state_equals (ev->state, Keyboard::Shift)) {
                        if (!current_stepping_trackview) {
                                step_timeout = Glib::signal_timeout().connect (mem_fun(*this, &Editor::track_height_step_timeout), 500);
@@ -115,10 +115,10 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
                        }
                        gettimeofday (&last_track_height_step_timestamp, 0);
                        current_stepping_trackview->step_height (false);
-                       return true;
+                       ret = true;
                } else {
                        scroll_tracks_down_line ();
-                       return true;
+                       ret = true;
                }
                break;  
 
@@ -126,10 +126,9 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
                /* no left/right handling yet */
                break;
        }
-       
-       return false;
-}
 
+       return ret;
+}
 bool
 Editor::track_canvas_scroll_event (GdkEventScroll *event)
 {
index 438edcb1a69f993566a338268f1b465949166121..ce137260c154b6f2bebaf41beca424228561c188 100644 (file)
@@ -339,8 +339,10 @@ RedirectBox::redirect_button_release_event (GdkEventButton *ev)
                show_redirect_menu(ev->time);
                ret = true;
 
-       } else if (redirect && (ev->button == 2) && (ev->state == Gdk::BUTTON2_MASK)) {
+       } else if (redirect && (ev->button == 2) && (Keyboard::no_modifier_keys_pressed (ev) && ((ev->state & Gdk::BUTTON2_MASK) == Gdk::BUTTON2_MASK))) {
                
+               /* button2-click with no modifiers */
+
                redirect->set_active (!redirect->active(), this);
                ret = true;