From 365658e734a9b8670708b7c36a4b6a0a4acdc3ee Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 8 May 2012 16:25:13 +0000 Subject: [PATCH] fix up overly-persistent active state for control surfaces git-svn-id: svn://localhost/ardour2/branches/3.0@12212 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/rc_option_editor.cc | 1 + libs/ardour/control_protocol_manager.cc | 2 ++ 2 files changed, 3 insertions(+) diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc index 4a8ed4f840..d22ef625f2 100644 --- a/gtk2_ardour/rc_option_editor.cc +++ b/gtk2_ardour/rc_option_editor.cc @@ -723,6 +723,7 @@ private: ControlProtocolManager::instance().instantiate (*cpi); } else { ControlProtocolManager::instance().teardown (*cpi); + cpi->requested = false; } } diff --git a/libs/ardour/control_protocol_manager.cc b/libs/ardour/control_protocol_manager.cc index 6aa0c51da2..cce9fe08a1 100644 --- a/libs/ardour/control_protocol_manager.cc +++ b/libs/ardour/control_protocol_manager.cc @@ -169,6 +169,8 @@ ControlProtocolManager::teardown (ControlProtocolInfo& cpi) } cpi.protocol = 0; + delete cpi.state; + cpi.state = 0; dlclose (cpi.descriptor->module); return 0; }