diff --git a/esignal/Signal.hpp b/esignal/Signal.hpp index 0e5b862..736e78d 100644 --- a/esignal/Signal.hpp +++ b/esignal/Signal.hpp @@ -316,7 +316,7 @@ template template esignal::Connection esignal::SignalInternal::connect(OBSERVER_TYPE&& _observer ) { ESIGNAL_DEBUG("esignal: '" << getName() << "' try connect: '" << getName() << "' (observer)"); - ememory::UniquePtr executer(new Executor(etk::forward(_observer))); + ememory::UniquePtr executer(ETK_NEW(Executor, etk::forward(_observer))); size_t uid = executer->m_uid; m_executors.pushBack(etk::move(executer)); if (m_connectionObserver!=nullptr) { @@ -336,7 +336,7 @@ esignal::Connection esignal::SignalInternal::connect(CLASS_TYPE* _cla ESIGNAL_ERROR(" '" << getName() << "' Class pointer in nullptr"); return esignal::Connection(); } - ememory::UniquePtr executer(new Executor([=](const T_ARGS& ... _argBase){ + ememory::UniquePtr executer(ETK_NEW(Executor, [=](const T_ARGS& ... _argBase){ (*_class.*_func)(_argBase..., _arg... ); })); size_t uid = executer->m_uid; @@ -364,7 +364,7 @@ void esignal::SignalInternal::connect(const ememory::SharedPtr executer(new ExecutorShared(_class, [=]( const T_ARGS& ... _argBase){ + ememory::UniquePtr executer(ETK_NEW(ExecutorShared, _class, [=]( const T_ARGS& ... _argBase){ // TODO : Check if compilator does not use the shared ptr ... (*directPointer.*_func)(_argBase..., _args... ); })); diff --git a/test/test_signal_recursive.cpp b/test/test_signal_recursive.cpp index 44c72e9..b536af6 100644 --- a/test/test_signal_recursive.cpp +++ b/test/test_signal_recursive.cpp @@ -28,7 +28,7 @@ static auto callbackInt = [](int32_t _a){ TEST(test_signal_recursive, base) { tmpRetInt32 = -1; - signalll = new esignal::Signal(); + signalll = ETK_NEW(esignal::Signal); EXPECT_EQ(signalll->size(), 0); EXPECT_EQ(signalll->empty(), true); esignal::Connection connection1 = signalll->connect(callbackInt);