From 0dbcca14bcbcb3aa7e7c0ae24934463a5973a651 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 23 May 2008 04:30:24 +0000 Subject: Fix crash when trying to add multiple objects with the same path. Handle failed jack port registrations more gracefully. Don't assume all LADSPA plugins have minimum and maximum port range values. git-svn-id: http://svn.drobilla.net/lad/ingen@1230 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/engine/JackMidiDriver.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/libs/engine/JackMidiDriver.cpp') diff --git a/src/libs/engine/JackMidiDriver.cpp b/src/libs/engine/JackMidiDriver.cpp index 22db1d4b..7aba309a 100644 --- a/src/libs/engine/JackMidiDriver.cpp +++ b/src/libs/engine/JackMidiDriver.cpp @@ -22,6 +22,7 @@ #include #include "types.hpp" #include "JackMidiDriver.hpp" +#include "JackAudioDriver.hpp" #include "ThreadManager.hpp" #include "AudioDriver.hpp" #include "EventBuffer.hpp" @@ -50,6 +51,11 @@ JackMidiPort::JackMidiPort(JackMidiDriver* driver, DuplexPort* patch_port) patch_port->path().c_str(), JACK_DEFAULT_MIDI_TYPE, (patch_port->is_input()) ? JackPortIsInput : JackPortIsOutput, 0); + + if (_jack_port == NULL) { + cerr << "[JackMidiPort] ERROR: Failed to register port " << patch_port->path() << endl; + throw JackAudioDriver::PortRegistrationFailedException(); + } patch_port->buffer(0)->clear(); } -- cgit v1.2.1