use running_from_source_tree()
[ardour.git] / gtk2_ardour / editor_mixer.cc
index cfd832385f3656763305689b1e0e384a872a0d0b..0109aa38c1107bd04f1b550e0785b17da6b35ee5 100644 (file)
@@ -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<Gdk::Window> win = get_window ();
+               Gtk::Window* toplevel = current_toplevel();
+               Glib::RefPtr<Gdk::Window> win;
                Glib::RefPtr<Gdk::Screen> screen;
-               
+
+               if (toplevel) {
+                       win = toplevel->get_window();
+               }
+
                if (win) {
-                        screen = win->get_screen();
+                       screen = win->get_screen();
                } else {
                        screen = Gdk::Screen::get_default();
                }
@@ -155,13 +161,13 @@ 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 ()
 {
@@ -173,16 +179,15 @@ Editor::ensure_all_elements_drawn ()
 void
 Editor::create_editor_mixer ()
 {
-       current_mixer_strip = new MixerStrip (*ARDOUR_UI::instance()->the_mixer(),
-                                             _session,
-                                             false);
+       current_mixer_strip = new MixerStrip (*ARDOUR_UI::instance()->the_mixer(), _session, false);
        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
@@ -266,7 +271,7 @@ Editor::maybe_add_mixer_strip_width (XMLNode& node)
 void
 Editor::mixer_strip_width_changed ()
 {
-#ifdef GTKOSX
+#ifdef __APPLE__
        ensure_all_elements_drawn ();
 #endif
 
@@ -282,7 +287,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;
        }