summaryrefslogtreecommitdiff
path: root/libs/surfaces/mackie/interface.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/surfaces/mackie/interface.cc')
-rw-r--r--libs/surfaces/mackie/interface.cc17
1 files changed, 15 insertions, 2 deletions
diff --git a/libs/surfaces/mackie/interface.cc b/libs/surfaces/mackie/interface.cc
index eda485b5d6..461f5171ac 100644
--- a/libs/surfaces/mackie/interface.cc
+++ b/libs/surfaces/mackie/interface.cc
@@ -64,9 +64,22 @@ new_mackie_protocol (ControlProtocolDescriptor* descriptor, Session* s)
void
delete_mackie_protocol (ControlProtocolDescriptor* descriptor, ControlProtocol* cp)
{
- delete cp;
+ try
+ {
+ delete cp;
+ }
+ catch ( exception & e )
+ {
+ cout << "Exception caught trying to destroy MackieControlProtocol: " << e.what() << endl;
+ }
}
+/**
+ This is called on startup to check whether the lib should be loaded.
+
+ So anything that can be changed in the UI should not be used here to
+ prevent loading of the lib.
+*/
bool
probe_mackie_protocol (ControlProtocolDescriptor* descriptor)
{
@@ -79,7 +92,7 @@ static ControlProtocolDescriptor mackie_descriptor = {
ptr : 0,
module : 0,
mandatory : 0,
- supports_feedback : true,
+ supports_feedback : false,
probe : probe_mackie_protocol,
initialize : new_mackie_protocol,
destroy : delete_mackie_protocol