allow ardour button to handle focused keyboard events
[ardour.git] / gtk2_ardour / editor_mixer.cc
index b693cf7e75609720ac907aa9d6c09c41d68b2e8d..cfd832385f3656763305689b1e0e384a872a0d0b 100644 (file)
@@ -86,7 +86,7 @@ Editor::show_editor_mixer (bool yn)
                        screen = Gdk::Screen::get_default();
                }
 
-               if (screen && screen->get_height() < 700) {
+               if (g_getenv ("ARDOUR_LOVES_STUPID_TINY_SCREENS") == 0 && screen && screen->get_height() < 700) {
                        Gtk::MessageDialog msg (_("This screen is not tall enough to display the editor mixer"));
                        msg.run ();
                        return;
@@ -133,17 +133,19 @@ Editor::show_editor_mixer (bool yn)
                        if (current_mixer_strip == 0) {
                                create_editor_mixer ();
                        }
-
-                       current_mixer_strip->set_route (r);
-                       current_mixer_strip->set_width_enum (editor_mixer_strip_width, (void*) this);
                }
 
-               if (current_mixer_strip->get_parent() == 0) {
+               if (current_mixer_strip && current_mixer_strip->get_parent() == 0) {
                        global_hpacker.pack_start (*current_mixer_strip, Gtk::PACK_SHRINK );
                        global_hpacker.reorder_child (*current_mixer_strip, 0);
                        current_mixer_strip->show ();
                }
 
+               if (r) {
+                       current_mixer_strip->set_route (r);
+                       current_mixer_strip->set_width_enum (editor_mixer_strip_width, (void*) this);
+               }
+
        } else {
 
                if (current_mixer_strip) {
@@ -164,7 +166,6 @@ void
 Editor::ensure_all_elements_drawn ()
 {
        controls_layout.queue_draw ();
-       ruler_label_event_box.queue_draw ();
        time_bars_event_box.queue_draw ();
 }
 #endif