diff --git a/include/Nazara/Core/Signal.hpp b/include/Nazara/Core/Signal.hpp index 2fb65aede..69bf8fc28 100644 --- a/include/Nazara/Core/Signal.hpp +++ b/include/Nazara/Core/Signal.hpp @@ -26,10 +26,10 @@ class NzSignal void Clear(); - Connection&& Connect(const Callback& func); - Connection&& Connect(Callback&& func); - template Connection&& Connect(O& object, void (O::*method)(Args...)); - template Connection&& Connect(O* object, void (O::*method)(Args...)); + Connection Connect(const Callback& func); + Connection Connect(Callback&& func); + template Connection Connect(O& object, void (O::*method)(Args...)); + template Connection Connect(O* object, void (O::*method)(Args...)); void operator()(Args... args); diff --git a/include/Nazara/Core/Signal.inl b/include/Nazara/Core/Signal.inl index 39ca86170..c64ede1c8 100644 --- a/include/Nazara/Core/Signal.inl +++ b/include/Nazara/Core/Signal.inl @@ -19,13 +19,13 @@ void NzSignal::Clear() } template -typename NzSignal::Connection&& NzSignal::Connect(const Callback& func) +typename NzSignal::Connection NzSignal::Connect(const Callback& func) { - return Connect(std::move(Callback(func))); + return Connect(Callback(func)); } template -typename NzSignal::Connection&& NzSignal::Connect(Callback&& func) +typename NzSignal::Connection NzSignal::Connect(Callback&& func) { NazaraAssert(func, "Invalid function"); @@ -40,7 +40,7 @@ typename NzSignal::Connection&& NzSignal::Connect(Callback&& f template template -typename NzSignal::Connection&& NzSignal::Connect(O& object, void (O::*method) (Args...)) +typename NzSignal::Connection NzSignal::Connect(O& object, void (O::*method) (Args...)) { return Connect([&object, method] (Args&&... args) { @@ -50,7 +50,7 @@ typename NzSignal::Connection&& NzSignal::Connect(O& object, v template template -typename NzSignal::Connection&& NzSignal::Connect(O* object, void (O::*method)(Args...)) +typename NzSignal::Connection NzSignal::Connect(O* object, void (O::*method)(Args...)) { return Connect([object, method] (Args&&... args) {