From eb10d32d8b59f2158ba64ba55e310ba0f5f24170 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 14 May 2008 23:31:15 +0000 Subject: Fix clear patch command (ticket #18). Potential destruction race/leak fixes. More thorough thread assertions on graph object methods. git-svn-id: http://svn.drobilla.net/lad/ingen@1207 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/engine/events/ClearPatchEvent.hpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/libs/engine/events/ClearPatchEvent.hpp') diff --git a/src/libs/engine/events/ClearPatchEvent.hpp b/src/libs/engine/events/ClearPatchEvent.hpp index afe66eed..0353dc01 100644 --- a/src/libs/engine/events/ClearPatchEvent.hpp +++ b/src/libs/engine/events/ClearPatchEvent.hpp @@ -20,13 +20,18 @@ #include #include +#include +#include #include "QueuedEvent.hpp" +#include "ObjectStore.hpp" +#include "PatchImpl.hpp" using std::string; namespace Ingen { class PatchImpl; +class DriverPort; /** Delete all nodes from a patch. @@ -43,9 +48,14 @@ public: void post_process(); private: - const string _patch_path; - PatchImpl* _patch; - bool _process; + const string _patch_path; + SharedPtr _patch; + DriverPort* _driver_port; + bool _process; + Raul::Array* _ports_array; ///< New (external) ports for Patch + CompiledPatch* _compiled_patch; ///< Patch's new process order + + SharedPtr< Table > > _removed_table; }; -- cgit v1.2.1