diff options
-rw-r--r-- | engine/include/core/signal.hpp | 10 | ||||
-rw-r--r-- | test/signal_test.cpp | 2 |
2 files changed, 9 insertions, 3 deletions
diff --git a/engine/include/core/signal.hpp b/engine/include/core/signal.hpp index a420989..606d61a 100644 --- a/engine/include/core/signal.hpp +++ b/engine/include/core/signal.hpp @@ -120,11 +120,15 @@ namespace flat bool connect(listener* l); void disconnect(listener* l); - listener::ptr connect(listener::callback f, const std::initializer_list<std::string>& filters = {}); + listener::ptr connect(listener::callback f, + const std::initializer_list<std::string>& filters = {}); template<typename R, typename T> - inline listener::ptr connect(R T::*mf, T& obj, const std::initializer_list<std::string>& filters = {}) { - return connect(std::bind(mf, obj), filters); + inline listener::ptr connect(R T::*mf, T& obj, + const std::initializer_list<std::string>& filters = {}) + { + using namespace std::placeholders; + return connect(std::bind(mf, obj, _1, _2), filters); } static ptr find(const std::string&); diff --git a/test/signal_test.cpp b/test/signal_test.cpp index 39d7e0f..cd487b0 100644 --- a/test/signal_test.cpp +++ b/test/signal_test.cpp @@ -1,7 +1,9 @@ #include "core/signal.hpp" #include "core/task.hpp" #include "object.hpp" +#include "window.hpp" #include "flatland.hpp" + #include <iostream> using namespace std; |