diff options
Diffstat (limited to 'src/libs/gui/ControlGroups.cpp')
-rw-r--r-- | src/libs/gui/ControlGroups.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/libs/gui/ControlGroups.cpp b/src/libs/gui/ControlGroups.cpp index 14d67870..5098c3f8 100644 --- a/src/libs/gui/ControlGroups.cpp +++ b/src/libs/gui/ControlGroups.cpp @@ -43,6 +43,14 @@ ControlGroup::ControlGroup(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Gl _enable_signal(false) { } + + +ControlGroup::~ControlGroup() +{ + _enable_signal = false; + _control_connection.disconnect(); + _port_model.reset(); +} void @@ -54,7 +62,7 @@ ControlGroup::init(ControlPanel* panel, SharedPtr<PortModel> pm) assert(_port_model); assert(panel); - pm->control_change_sig.connect(sigc::mem_fun(this, &ControlGroup::set_value)); + _control_connection = pm->control_change_sig.connect(sigc::mem_fun(this, &ControlGroup::set_value)); } |