fix crash with "send" meters.
authorRobin Gareus <robin@gareus.org>
Wed, 24 Jul 2013 22:06:12 +0000 (00:06 +0200)
committerRobin Gareus <robin@gareus.org>
Wed, 24 Jul 2013 22:06:12 +0000 (00:06 +0200)
Meters in send-UI don't necessarily have a route,
but their type cannot be changed, anyway.
So just use "PeakMeter".

gtk2_ardour/gain_meter.cc

index f142f21641e514e7c3ff36d4c1ba2bb9228f0e40..01d619780d56388717d04bfb6c9af8913361fc3c 100644 (file)
@@ -1019,21 +1019,30 @@ GainMeter::get_gm_width ()
 gint
 GainMeter::meter_metrics_expose (GdkEventExpose *ev)
 {
-       assert(_route);
+       if (!_route) {
+               if (_types.empty()) { _types.push_back(DataType::AUDIO); }
+               return meter_expose_metrics(ev, MeterPeak, _types, &meter_metric_area);
+       }
        return meter_expose_metrics(ev, _route->meter_type(), _types, &meter_metric_area);
 }
 
 gint
 GainMeter::meter_ticks1_expose (GdkEventExpose *ev)
 {
-       assert(_route);
+       if (!_route) {
+               if (_types.empty()) { _types.push_back(DataType::AUDIO); }
+               return meter_expose_ticks(ev, MeterPeak, _types, &meter_ticks1_area);
+       }
        return meter_expose_ticks(ev, _route->meter_type(), _types, &meter_ticks1_area);
 }
 
 gint
 GainMeter::meter_ticks2_expose (GdkEventExpose *ev)
 {
-       assert(_route);
+       if (!_route) {
+               if (_types.empty()) { _types.push_back(DataType::AUDIO); }
+               return meter_expose_ticks(ev, MeterPeak, _types, &meter_ticks2_area);
+       }
        return meter_expose_ticks(ev, _route->meter_type(), _types, &meter_ticks2_area);
 }