diff --git a/include/TGUI/Signal.hpp b/include/TGUI/Signal.hpp index 35c6697d..9e7c6bf0 100644 --- a/include/TGUI/Signal.hpp +++ b/include/TGUI/Signal.hpp @@ -578,10 +578,10 @@ namespace tgui /// /// @return Unique id of the connection ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - template >::value>::type* = nullptr> - unsigned int connect(std::string signalName, Func&& handler, Args&&... args) + template >::value>::type* = nullptr> + unsigned int connect(std::string signalName, Func&& handler, const Args&... args) { - return getSignal(toLower(std::move(signalName))).connect([f=std::function(handler),args...](){ f(args...); }); + return getSignal(toLower(std::move(signalName))).connect([f=std::function(handler),args...](){ f(args...); }); } @@ -595,11 +595,11 @@ namespace tgui /// /// @return Unique id of the connection ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - template , const std::string&)>>::value>::type* = nullptr> - unsigned int connect(std::string signalName, Func&& handler, Args&&... args) + template , const std::string&)>>::value>::type* = nullptr> + unsigned int connect(std::string signalName, Func&& handler, const Args&... args) { return getSignal(toLower(std::move(signalName))).connect( - [f=std::function, const std::string&)>(handler), args...] + [f=std::function&, const std::string&)>(handler), args...] (const std::shared_ptr& w, const std::string& s) { f(args..., w, s); } );