summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/rc_option_editor.cc1
-rw-r--r--libs/ardour/control_protocol_manager.cc2
2 files changed, 3 insertions, 0 deletions
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;
}