diff options
Diffstat (limited to 'src/engine')
-rw-r--r-- | src/engine/events/Disconnect.cpp | 12 | ||||
-rw-r--r-- | src/engine/events/Disconnect.hpp | 9 |
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 |