summaryrefslogtreecommitdiff
path: root/libs/ardour/control_protocol_manager.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-12-29 05:20:50 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-12-29 05:20:50 -0500
commit6a8b8c8523071e069d160a6bd07769e0d6903160 (patch)
tree4c7e65c154dedeebf8e27ad4b33fe338171ae3d8 /libs/ardour/control_protocol_manager.cc
parent135eedc685b97d2dddafcbec68ee19f6368f2e40 (diff)
add check for descriptor when deciding whether to register a control surface request buffer factory
Diffstat (limited to 'libs/ardour/control_protocol_manager.cc')
-rw-r--r--libs/ardour/control_protocol_manager.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/control_protocol_manager.cc b/libs/ardour/control_protocol_manager.cc
index 6583869fed..8f2f026d55 100644
--- a/libs/ardour/control_protocol_manager.cc
+++ b/libs/ardour/control_protocol_manager.cc
@@ -495,6 +495,12 @@ ControlProtocolManager::register_request_buffer_factories ()
Glib::Threads::Mutex::Lock lm (protocols_lock);
for (list<ControlProtocolInfo*>::iterator i = control_protocol_info.begin(); i != control_protocol_info.end(); ++i) {
+
+ if ((*i)->descriptor == 0) {
+ warning << string_compose (_("Control protocol \"%1\" has no descriptor"), (*i)->name) << endmsg;
+ continue;
+ }
+
if ((*i)->descriptor->request_buffer_factory) {
EventLoop::register_request_buffer_factory ((*i)->descriptor->name, (*i)->descriptor->request_buffer_factory);
}