diff options
author | Robin Gareus <robin@gareus.org> | 2014-09-27 19:17:13 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-09-27 19:17:13 +0200 |
commit | 738336fbd5f8c2a1f946577fd8d031c3ddabc985 (patch) | |
tree | ec0fb67b64703d903d4387cb06d0113778e4b0a8 | |
parent | fb0de10b93dbc25d2c75757b858bf0f9b12c93a1 (diff) |
invalidate meter's ColorsChanged connection:
fixes crash: open session, close, open another session, change theme.
old [destoyed] meters from first session were notified about color change.
-rw-r--r-- | gtk2_ardour/level_meter.cc | 1 | ||||
-rw-r--r-- | gtk2_ardour/level_meter.h | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc index d47b10a598..3672edbc6d 100644 --- a/gtk2_ardour/level_meter.cc +++ b/gtk2_ardour/level_meter.cc @@ -72,6 +72,7 @@ LevelMeterBase::~LevelMeterBase () for (vector<MeterInfo>::iterator i = meters.begin(); i != meters.end(); i++) { delete (*i).meter; } + meters.clear(); } void diff --git a/gtk2_ardour/level_meter.h b/gtk2_ardour/level_meter.h index a355d7d285..b6aec1dd78 100644 --- a/gtk2_ardour/level_meter.h +++ b/gtk2_ardour/level_meter.h @@ -49,7 +49,7 @@ namespace Gtk { class Menu; } -class LevelMeterBase : public ARDOUR::SessionHandlePtr +class LevelMeterBase : public ARDOUR::SessionHandlePtr, virtual public sigc::trackable { public: LevelMeterBase (ARDOUR::Session*, PBD::EventLoop::InvalidationRecord* ir, |