@@ -458,7 +458,14 @@ void Fl_Canvas::PortClicked(Fl_DeviceGUI* Device, int Type, int Port, bool Value | |||||
void Fl_Canvas::ClearConnections(Fl_DeviceGUI* Device) | void Fl_Canvas::ClearConnections(Fl_DeviceGUI* Device) | ||||
{ | { | ||||
bool removedall=false; | bool removedall=false; | ||||
//make sure we don't leave a dangling incomplete wire this will cause errors/seg-faults | |||||
if (UserMakingConnection() && Device && ((Device->GetID() == m_IncompleteWire.OutputID) || | |||||
(Device->GetID() == m_IncompleteWire.InputID))) | |||||
{ | |||||
ClearIncompleteWire(); | |||||
} | |||||
while (!removedall) | while (!removedall) | ||||
{ | { | ||||
removedall=true; | removedall=true; | ||||
@@ -44,6 +44,12 @@ SpiralPlugin::~SpiralPlugin() | |||||
delete m_AudioCH; | delete m_AudioCH; | ||||
} | } | ||||
bool SpiralPlugin::Kill() | |||||
{ | |||||
m_IsDead = true; | |||||
return true; | |||||
} | |||||
PluginInfo &SpiralPlugin::Initialise(const HostInfo *Host) | PluginInfo &SpiralPlugin::Initialise(const HostInfo *Host) | ||||
{ | { | ||||
m_HostInfo=Host; | m_HostInfo=Host; | ||||
@@ -77,7 +77,7 @@ public: | |||||
// execute the audio | // execute the audio | ||||
virtual void Execute()=0; | virtual void Execute()=0; | ||||
virtual bool Kill() {m_IsDead = true; return true;} | |||||
virtual bool Kill(); | |||||
// run the commands from the GUI | // run the commands from the GUI | ||||
virtual void ExecuteCommands() {} | virtual void ExecuteCommands() {} | ||||