RouteUI is now also derived from SessionHandlePtr but NOT AxisView. Fix initialization.
authorPaul Davis <paul@linuxaudiosystems.com>
Sun, 5 Jun 2016 19:47:39 +0000 (15:47 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Sun, 5 Jun 2016 20:33:01 +0000 (16:33 -0400)
Only "most derived" classes can initialize virtual base classes (SessionHandlePtr)

12 files changed:
gtk2_ardour/audio_time_axis.cc
gtk2_ardour/automation_time_axis.cc
gtk2_ardour/axis_view.cc
gtk2_ardour/axis_view.h
gtk2_ardour/meter_strip.cc
gtk2_ardour/mixer_strip.cc
gtk2_ardour/monitor_section.cc
gtk2_ardour/route_time_axis.cc
gtk2_ardour/route_ui.cc
gtk2_ardour/time_axis_view.cc
gtk2_ardour/vca_master_strip.cc
gtk2_ardour/vca_time_axis.cc

index f59c4bc809a613fa0ed167d0aaf7bf97830c7470..ead0b8ffb180c5e20d81491947f177eb3648e300 100644 (file)
@@ -65,7 +65,7 @@ using namespace Gtk;
 using namespace Editing;
 
 AudioTimeAxisView::AudioTimeAxisView (PublicEditor& ed, Session* sess, ArdourCanvas::Canvas& canvas)
-       : AxisView(sess)
+       : SessionHandlePtr (sess)
        , RouteTimeAxisView(ed, sess, canvas)
 {
 }
index 3262898d13e14aa0f1c080a0a95965070eb79576..564443a7f3e9be81d13eb7f116d63ed9e9a3e938 100644 (file)
@@ -84,7 +84,7 @@ AutomationTimeAxisView::AutomationTimeAxisView (
        const string & nom,
        const string & nomparent
        )
-       : AxisView (s)
+       : SessionHandlePtr (s)
        , TimeAxisView (s, e, &parent, canvas)
        , _route (r)
        , _control (c)
index de4202d8b2d00f0a0fca06fe6a57a4e2a5e811eb..ab6d4423282261dd03b2496a2f4c68325a9c7eae 100644 (file)
@@ -47,8 +47,7 @@ using namespace ARDOUR_UI_UTILS;
 
 list<Gdk::Color> AxisView::used_colors;
 
-AxisView::AxisView (ARDOUR::Session* sess)
-       : SessionHandlePtr (sess)
+AxisView::AxisView ()
 {
        _selected = false;
 }
index 75a5f7d42186cfd882320b6b9fc621bf791d7714..7a2a0fb07960136b9cf9bdeda45865eb61949460 100644 (file)
@@ -78,11 +78,6 @@ class AxisView : public virtual Selectable, public virtual PBD::ScopedConnection
        static GUIObjectState& gui_object_state();
        void clear_property_cache() { property_hashtable.clear(); }
 
-  protected:
-
-       AxisView (ARDOUR::Session* sess);
-       virtual ~AxisView();
-
        /**
         * Generate a new random TrackView color, unique from those colors already used.
         *
@@ -90,7 +85,9 @@ class AxisView : public virtual Selectable, public virtual PBD::ScopedConnection
         */
        static Gdk::Color unique_random_color();
 
-       Gdk::Color _color;
+  protected:
+       AxisView ();
+       virtual ~AxisView();
 
        static std::list<Gdk::Color> used_colors;
 
index 596906c5e86efe4441d7e9c2cb4b17628a76348a..3ad2e8442ca1044613a1a54a33d4ab374a301e15 100644 (file)
@@ -62,8 +62,7 @@ PBD::Signal0<void> MeterStrip::ConfigurationChanged;
 #define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * UIConfiguration::instance().get_ui_scale()))
 
 MeterStrip::MeterStrip (int metricmode, MeterType mt)
-       : AxisView(0)
-       , RouteUI(0)
+       : RouteUI ((Session*) 0)
 {
        level_meter = 0;
        _strip_type = 0;
@@ -117,7 +116,7 @@ MeterStrip::MeterStrip (int metricmode, MeterType mt)
 }
 
 MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
-       : AxisView(sess)
+       : SessionHandlePtr (sess)
        , RouteUI(0)
        , _route(rt)
        , peak_display()
index ebbf078b3cf96bb2e8dc8926cd92c033e51c532a..6309596181047979c998a8b088aef7c616279960 100644 (file)
@@ -84,7 +84,7 @@ MixerStrip* MixerStrip::_entered_mixer_strip;
 PBD::Signal1<void,MixerStrip*> MixerStrip::CatchDeletion;
 
 MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, bool in_mixer)
-       : AxisView(sess)
+       : SessionHandlePtr (sess)
        , RouteUI (sess)
        , _mixer(mx)
        , _mixer_owned (in_mixer)
@@ -116,7 +116,7 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, bool in_mixer)
 }
 
 MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, boost::shared_ptr<Route> rt, bool in_mixer)
-       : AxisView(sess)
+       : SessionHandlePtr (sess)
        , RouteUI (sess)
        , _mixer(mx)
        , _mixer_owned (in_mixer)
index 42cbcd848ab2e0eb20b87c4cd16d36b416df15d8..4399c8a3644526555e10b8f399e58638c0436cf9 100644 (file)
@@ -63,7 +63,7 @@ Glib::RefPtr<ActionGroup> MonitorSection::monitor_actions;
 #define PX_SCALE(px) std::max((float)px, rintf((float)px * UIConfiguration::instance().get_ui_scale()))
 
 MonitorSection::MonitorSection (Session* s)
-       : AxisView (s)
+       : SessionHandlePtr (s)
        , RouteUI (s)
        , _tearoff (0)
        , channel_table_viewport (*channel_table_scroller.get_hadjustment()
@@ -577,7 +577,7 @@ MonitorSection::update_processor_box ()
 void
 MonitorSection::set_session (Session* s)
 {
-       AxisView::set_session (s);
+       RouteUI::set_session (s);
        _plugin_selector->set_session (_session);
 
        if (_session) {
index faf57129050d850f9ad97f1f90e8ce36341b2e25..6cd19d332839bafa05b11267c0edf2385e7dc1a3 100644 (file)
@@ -95,8 +95,7 @@ using namespace std;
 using std::list;
 
 RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, ArdourCanvas::Canvas& canvas)
-       : AxisView(sess)
-       , RouteUI(sess)
+       : RouteUI(sess)
        , TimeAxisView(sess,ed,(TimeAxisView*) 0, canvas)
        , _view (0)
        , parent_canvas (canvas)
index 9b57d38acfc8cc30003d923d9c5fabd3fe4b40bb..dce08375eaee76848917cc67d6e56a06bf170010 100644 (file)
@@ -83,8 +83,7 @@ boost::weak_ptr<Route> RouteUI::_showing_sends_to;
 std::string RouteUI::program_port_prefix;
 
 RouteUI::RouteUI (ARDOUR::Session* sess)
-       : AxisView(sess)
-       , mute_menu(0)
+       : mute_menu(0)
        , solo_menu(0)
        , sends_menu(0)
        , record_menu(0)
index 5aa114f2865c5cb4592c22959197c7297a79a300..4885c58b547589570487f62799277f6b6769916d 100644 (file)
@@ -88,8 +88,7 @@ TimeAxisView::setup_sizes()
 }
 
 TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisView* rent, Canvas& /*canvas*/)
-       : AxisView (sess)
-       , controls_table (5, 4)
+       : controls_table (5, 4)
        , controls_button_size_group (Gtk::SizeGroup::create (Gtk::SIZE_GROUP_BOTH))
        , _name_editing (false)
        , height (0)
index b0eaea9a70de730feb672910ad1acfcf700f1235..be6f862a7cfa78980e4bd4fd75f1a6e128b89af3 100644 (file)
@@ -48,7 +48,7 @@ using std::string;
 PBD::Signal1<void,VCAMasterStrip*> VCAMasterStrip::CatchDeletion;
 
 VCAMasterStrip::VCAMasterStrip (Session* s, boost::shared_ptr<VCA> v)
-       : AxisView (s)
+       : SessionHandlePtr (s)
        , _vca (v)
        , gain_meter (s, 250)
        , context_menu (0)
index a9d6725007420f18a8834336aa2668bfa8bb2c2b..0bfe78fb3dbb8dc212c8bff27adc74abd68043d1 100644 (file)
@@ -41,7 +41,7 @@ using namespace Gtkmm2ext;
 using namespace PBD;
 
 VCATimeAxisView::VCATimeAxisView (PublicEditor& ed, Session* s, ArdourCanvas::Canvas& canvas)
-       : AxisView (s)
+       : SessionHandlePtr (s)
        , TimeAxisView (s, ed, (TimeAxisView*) 0, canvas)
        , gain_meter (s, true, 75, 14) // XXX stupid magic numbers, match sizes in RouteTimeAxisView
 {