From 738336fbd5f8c2a1f946577fd8d031c3ddabc985 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 27 Sep 2014 19:17:13 +0200 Subject: 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. --- gtk2_ardour/level_meter.cc | 1 + gtk2_ardour/level_meter.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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::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, -- cgit v1.2.3