diff options
author | Robin Gareus <robin@gareus.org> | 2013-07-25 00:06:12 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-07-25 00:06:12 +0200 |
commit | 62398facd7de6b3a217e6a015fb2ce65e194d8aa (patch) | |
tree | c1cead7107fd99bb7a9f85f572ea4f1cdf4a02b7 /gtk2_ardour/gain_meter.cc | |
parent | 376d6fe34eeebc6506b4bcb36b99104ee025880d (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.cc | 15 |
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); } |