summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/engine/events/Disconnect.cpp12
-rw-r--r--src/engine/events/Disconnect.hpp9
2 files changed, 11 insertions, 10 deletions
diff --git a/src/engine/events/Disconnect.cpp b/src/engine/events/Disconnect.cpp
index aa59b618..9618826c 100644
--- a/src/engine/events/Disconnect.cpp
+++ b/src/engine/events/Disconnect.cpp
@@ -52,6 +52,7 @@ Disconnect::Disconnect(
, _patch(NULL)
, _src_port(NULL)
, _dst_port(NULL)
+ , _impl(NULL)
, _compiled_patch(NULL)
{
}
@@ -164,11 +165,10 @@ Disconnect::pre_process()
return;
}
- _impl = SharedPtr<Impl>(
- new Impl(_engine,
- _patch,
- dynamic_cast<OutputPort*>(_src_port),
- dynamic_cast<InputPort*>(_dst_port)));
+ _impl = new Impl(_engine,
+ _patch,
+ dynamic_cast<OutputPort*>(_src_port),
+ dynamic_cast<InputPort*>(_dst_port));
if (_patch->enabled())
_compiled_patch = _patch->compile();
@@ -259,6 +259,8 @@ Disconnect::post_process()
if (_request)
_request->respond_error(msg);
}
+
+ delete _impl;
}
} // namespace Engine
diff --git a/src/engine/events/Disconnect.hpp b/src/engine/events/Disconnect.hpp
index 0c177d0a..7a22e474 100644
--- a/src/engine/events/Disconnect.hpp
+++ b/src/engine/events/Disconnect.hpp
@@ -88,16 +88,15 @@ private:
CONNECTION_NOT_FOUND
};
- Raul::Path _src_port_path;
- Raul::Path _dst_port_path;
+ const Raul::Path _src_port_path;
+ const Raul::Path _dst_port_path;
PatchImpl* _patch;
PortImpl* _src_port;
PortImpl* _dst_port;
- CompiledPatch* _compiled_patch; ///< New process order for Patch
-
- SharedPtr<Impl> _impl;
+ Impl* _impl;
+ CompiledPatch* _compiled_patch;
};
} // namespace Events