diff options
Diffstat (limited to 'src/engine/events/Disconnect.cpp')
-rw-r--r-- | src/engine/events/Disconnect.cpp | 12 |
1 files changed, 7 insertions, 5 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 |