fix meter-strip session/route-ui events
authorRobin Gareus <robin@gareus.org>
Thu, 26 Jun 2014 16:47:06 +0000 (18:47 +0200)
committerRobin Gareus <robin@gareus.org>
Thu, 26 Jun 2014 17:21:16 +0000 (19:21 +0200)
gtk2_ardour/meter_strip.cc
gtk2_ardour/meter_strip.h

index 198ca28f05779d5108a0d2a5dd89cb8fe000be17..d1031545bfa33dcaf4d857e9be8febc8dda32a21 100644 (file)
@@ -115,14 +115,15 @@ MeterStrip::MeterStrip (int metricmode, MeterType mt)
 
 MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
        : AxisView(sess)
-       , RouteUI(sess)
+       , RouteUI(0)
        , _route(rt)
        , peak_display()
 {
        mtr_vbox.set_spacing(2);
        nfo_vbox.set_spacing(2);
-       RouteUI::set_route (rt);
        SessionHandlePtr::set_session (sess);
+       RouteUI::init ();
+       RouteUI::set_route (rt);
 
        _has_midi = false;
        _tick_bar = 0;
@@ -269,7 +270,7 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
        }
 
        _route->shared_peak_meter()->ConfigurationChanged.connect (
-                       route_connections, invalidator (*this), boost::bind (&MeterStrip::meter_configuration_changed, this, _1), gui_context()
+                       meter_route_connections, invalidator (*this), boost::bind (&MeterStrip::meter_configuration_changed, this, _1), gui_context()
                        );
 
        ResetAllPeakDisplays.connect (sigc::mem_fun(*this, &MeterStrip::reset_peak_display));
@@ -285,8 +286,8 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
        meter_ticks1_area.signal_expose_event().connect (sigc::mem_fun(*this, &MeterStrip::meter_ticks1_expose));
        meter_ticks2_area.signal_expose_event().connect (sigc::mem_fun(*this, &MeterStrip::meter_ticks2_expose));
 
-       _route->DropReferences.connect (route_connections, invalidator (*this), boost::bind (&MeterStrip::self_delete, this), gui_context());
-       _route->PropertyChanged.connect (route_connections, invalidator (*this), boost::bind (&MeterStrip::strip_property_changed, this, _1), gui_context());
+       _route->DropReferences.connect (meter_route_connections, invalidator (*this), boost::bind (&MeterStrip::self_delete, this), gui_context());
+       _route->PropertyChanged.connect (meter_route_connections, invalidator (*this), boost::bind (&MeterStrip::strip_property_changed, this, _1), gui_context());
 
        peak_display.signal_button_release_event().connect (sigc::mem_fun(*this, &MeterStrip::peak_button_release), false);
        name_label.signal_button_release_event().connect (sigc::mem_fun(*this, &MeterStrip::name_label_button_release), false);
index 5436df1ebb311dbe585a72e279652971e5031681..0ccf21d60cf9f9c14f660865fea13abfa0364453 100644 (file)
@@ -74,7 +74,7 @@ class MeterStrip : public Gtk::VBox, public RouteUI
 
   protected:
        boost::shared_ptr<ARDOUR::Route> _route;
-       PBD::ScopedConnectionList route_connections;
+       PBD::ScopedConnectionList meter_route_connections;
        PBD::ScopedConnectionList level_meter_connection;
        void self_delete ();