summaryrefslogtreecommitdiff
path: root/gtk2_ardour/gain_meter.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-25 00:06:12 +0200
committerRobin Gareus <robin@gareus.org>2013-07-25 00:06:12 +0200
commit62398facd7de6b3a217e6a015fb2ce65e194d8aa (patch)
treec1cead7107fd99bb7a9f85f572ea4f1cdf4a02b7 /gtk2_ardour/gain_meter.cc
parent376d6fe34eeebc6506b4bcb36b99104ee025880d (diff)
fix crash with "send" meters.
Meters in send-UI don't necessarily have a route, but their type cannot be changed, anyway. So just use "PeakMeter".
Diffstat (limited to 'gtk2_ardour/gain_meter.cc')
-rw-r--r--gtk2_ardour/gain_meter.cc15
1 files changed, 12 insertions, 3 deletions
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index f142f21641..01d619780d 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -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);
}