From 74c76bd82792b03bd12f30aa875fae3e5047ccc2 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 19 Apr 2011 21:27:38 +0000 Subject: Remove EngineInterface::quit(). Use del("ingen:engine") instead. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3172 a436a847-0d15-0410-975c-d299462d15a1 --- src/engine/events/Delete.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/engine/events/Delete.cpp') diff --git a/src/engine/events/Delete.cpp b/src/engine/events/Delete.cpp index 50b9174a..4a6e520b 100644 --- a/src/engine/events/Delete.cpp +++ b/src/engine/events/Delete.cpp @@ -36,9 +36,12 @@ namespace Ingen { namespace Engine { namespace Events { -Delete::Delete(Engine& engine, SharedPtr request, FrameTime time, const Raul::Path& path) +Delete::Delete(Engine& engine, + SharedPtr request, + FrameTime time, + const Raul::URI& uri) : QueuedEvent(engine, request, time, true) - , _path(path) + , _uri(uri) , _store_iterator(engine.engine_store()->end()) , _garbage(NULL) , _driver_port(NULL) @@ -50,6 +53,9 @@ Delete::Delete(Engine& engine, SharedPtr request, FrameTime time, const { assert(request); assert(request->source()); + + if (Raul::Path::is_path(uri)) + _path = Raul::Path(uri.str()); } Delete::~Delete() @@ -166,7 +172,8 @@ Delete::post_process() { _removed_bindings.reset(); - if (_path.is_root() || _path == "path:/control_in" || _path == "path:/control_out") { + if (!Raul::Path::is_path(_uri) + || _path.is_root() || _path == "path:/control_in" || _path == "path:/control_out") { // XXX: Just ignore? //_request->respond_error(_path.chop_scheme() + " can not be deleted"); } else if (!_node && !_port) { -- cgit v1.2.1