diff options
author | David Robillard <d@drobilla.net> | 2008-05-14 23:31:15 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-05-14 23:31:15 +0000 |
commit | eb10d32d8b59f2158ba64ba55e310ba0f5f24170 (patch) | |
tree | d67944c6ada3369ba988cee4bd86ca24ee9de703 /src/libs/engine/events/ClearPatchEvent.hpp | |
parent | 5fc6f5df54a2650c4a53f04ee38cfebec0a515e1 (diff) | |
download | ingen-eb10d32d8b59f2158ba64ba55e310ba0f5f24170.tar.gz ingen-eb10d32d8b59f2158ba64ba55e310ba0f5f24170.tar.bz2 ingen-eb10d32d8b59f2158ba64ba55e310ba0f5f24170.zip |
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
Diffstat (limited to 'src/libs/engine/events/ClearPatchEvent.hpp')
-rw-r--r-- | src/libs/engine/events/ClearPatchEvent.hpp | 16 |
1 files changed, 13 insertions, 3 deletions
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 <string> #include <raul/Array.hpp> +#include <raul/Table.hpp> +#include <raul/Path.hpp> #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<PatchImpl> _patch; + DriverPort* _driver_port; + bool _process; + Raul::Array<PortImpl*>* _ports_array; ///< New (external) ports for Patch + CompiledPatch* _compiled_patch; ///< Patch's new process order + + SharedPtr< Table<Path, SharedPtr<Shared::GraphObject> > > _removed_table; }; |