From 01b04e0d5868ecebf16b9b2051227a8b2fd6e2e1 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 19 Jun 2011 16:53:41 +0000 Subject: Remove module from canvas when Jack clients exit. git-svn-id: http://svn.drobilla.net/lad/trunk/patchage@3404 a436a847-0d15-0410-975c-d299462d15a1 --- src/PatchageCanvas.hpp | 3 ++- src/PatchageEvent.cpp | 5 +---- 2 files changed, 3 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/PatchageCanvas.hpp b/src/PatchageCanvas.hpp index 6412511..1f5a58d 100644 --- a/src/PatchageCanvas.hpp +++ b/src/PatchageCanvas.hpp @@ -63,7 +63,6 @@ public: void remove_ports(bool (*pred)(const PatchagePort*)); void add_module(const std::string& name, PatchageModule* module); - bool remove_item(FlowCanvas::Item* i); void remove_port(const PortID& id); @@ -72,6 +71,8 @@ public: private: Patchage* _app; + bool remove_item(FlowCanvas::Item* i); + typedef std::map PortIndex; PortIndex _port_index; diff --git a/src/PatchageEvent.cpp b/src/PatchageEvent.cpp index cf53c03..b101e73 100644 --- a/src/PatchageEvent.cpp +++ b/src/PatchageEvent.cpp @@ -50,10 +50,7 @@ PatchageEvent::execute(Patchage* patchage) PatchageModule* module = dynamic_cast( patchage->canvas()->find_module(_str, InputOutput)); - if (module) { - patchage->canvas()->remove_item(module); - } - + delete module; free(_str); _str = NULL; -- cgit v1.2.1