Implement a derived function for 'GainMeter::redraw_metrics()'

I'm not sure why exactly but at this line in 'GainMeter::set_controls ()' :-

    model_connections, invalidator (*this), boost::bind (&GainMeter::redraw_metrics, this), gui_context()

MSVC will not allow us to pass a base class function to boost::bind(). I tried explicitly specifying the base class and I also tried making the function public / making it virtual etc but the only thing which works is to implement a derived function.

It's somehow related to changing the signal from 'TypeChanged' to 'MeterTypeChanged' but I don't entirely understand why... :-(
This commit is contained in:
John Emmas 2019-07-13 13:57:57 +01:00
parent dc131da53b
commit 169e15483a
2 changed files with 7 additions and 0 deletions

View File

@ -1117,3 +1117,9 @@ GainMeter::route_active_changed ()
meter_configuration_changed (_meter->input_streams ());
}
}
void
GainMeter::redraw_metrics ()
{
GainMeterBase::redraw_metrics ();
}

View File

@ -225,6 +225,7 @@ class GainMeter : public GainMeterBase, public Gtk::VBox
gint meter_ticks1_expose (GdkEventExpose *);
gint meter_ticks2_expose (GdkEventExpose *);
void on_style_changed (const Glib::RefPtr<Gtk::Style>&);
void redraw_metrics ();
private: