merge exportvis branch into cairocanvas, to reduce the number of "floating" branches.
[ardour.git] / gtk2_ardour / ardour_ui_dialogs.cc
index b0ac528b794ace1d5f5b0b9290f85ffbf2443742..d127c40343ca7145c3d22210cb508b6182b17915 100644 (file)
@@ -68,7 +68,6 @@ ARDOUR_UI::set_session (Session *s)
 {
        SessionHandlePtr::set_session (s);
 
-
        if (!_session) {
                WM::Manager::instance().set_session (s);
                /* Session option editor cannot exist across change-of-session */
@@ -198,9 +197,15 @@ ARDOUR_UI::set_session (Session *s)
                editor_meter_peak_display.hide();
        }
 
-       if (_session
-                       && _session->master_out()
-                       && _session->master_out()->n_outputs().n(DataType::AUDIO) > 0) {
+       if (meter_box.get_parent()) {
+               transport_tearoff_hbox.remove (meter_box);
+               transport_tearoff_hbox.remove (editor_meter_peak_display);
+       }
+
+       if (_session && 
+           _session->master_out() && 
+           _session->master_out()->n_outputs().n(DataType::AUDIO) > 0) {
+
                editor_meter = new LevelMeterHBox(_session);
                editor_meter->set_meter (_session->master_out()->shared_peak_meter().get());
                editor_meter->clear_meters();
@@ -228,7 +233,7 @@ ARDOUR_UI::set_session (Session *s)
                        meter_box.show();
                        editor_meter_peak_display.show();
                }
-       } 
+       }
 }
 
 int