X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_mixer.cc;h=d83b2119832a42c31a25bacffaa715a9f6c289fb;hb=234b06a18cf3e8c07bc44fb4f8c1218e17fb65f1;hp=67e749de50171773f140088195516aabd6010dcf;hpb=d15fda6d751a465d278f477923075d4783f3b1ca;p=ardour.git diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc index 67e749de50..d83b211983 100644 --- a/gtk2_ardour/editor_mixer.cc +++ b/gtk2_ardour/editor_mixer.cc @@ -42,6 +42,7 @@ #include "mixer_strip.h" #include "mixer_ui.h" #include "selection.h" +#include "ui_config.h" #include "i18n.h" @@ -77,11 +78,16 @@ Editor::show_editor_mixer (bool yn) show_editor_mixer_when_tracks_arrive = false; if (yn) { - Glib::RefPtr win = get_window (); + Gtk::Window* toplevel = current_toplevel(); + Glib::RefPtr win; Glib::RefPtr screen; - + + if (toplevel) { + win = toplevel->get_window(); + } + if (win) { - screen = win->get_screen(); + screen = win->get_screen(); } else { screen = Gdk::Screen::get_default(); } @@ -155,18 +161,17 @@ Editor::show_editor_mixer (bool yn) } } -#ifdef GTKOSX +#ifdef __APPLE__ /* XXX gtk problem here */ ensure_all_elements_drawn(); #endif } -#ifdef GTKOSX +#ifdef __APPLE__ void Editor::ensure_all_elements_drawn () { controls_layout.queue_draw (); - ruler_label_event_box.queue_draw (); time_bars_event_box.queue_draw (); } #endif @@ -180,10 +185,11 @@ Editor::create_editor_mixer () current_mixer_strip->Hiding.connect (sigc::mem_fun(*this, &Editor::current_mixer_strip_hidden)); current_mixer_strip->WidthChanged.connect (sigc::mem_fun (*this, &Editor::mixer_strip_width_changed)); -#ifdef GTKOSX +#ifdef __APPLE__ current_mixer_strip->WidthChanged.connect (sigc::mem_fun(*this, &Editor::ensure_all_elements_drawn)); #endif current_mixer_strip->set_embedded (true); + } void @@ -267,7 +273,7 @@ Editor::maybe_add_mixer_strip_width (XMLNode& node) void Editor::mixer_strip_width_changed () { -#ifdef GTKOSX +#ifdef __APPLE__ ensure_all_elements_drawn (); #endif @@ -283,7 +289,7 @@ Editor::track_mixer_selection () void Editor::follow_mixer_selection () { - if (!ARDOUR::Config->get_link_editor_and_mixer_selection() || _following_mixer_selection) { + if (_following_mixer_selection) { return; }