| @@ -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() {} | ||||