Call event handler only if event-label matches
[staging/windowmanager.git] / AFBClient.cpp
index 8ef7edc..cee49ad 100644 (file)
@@ -357,8 +357,6 @@ int AFBClient::Impl::endDraw(const char *label) {
 
 void AFBClient::Impl::set_event_handler(
     enum EventType et, std::function<void(char const *)> func) {
-    UNUSED(et);
-    UNUSED(func);
     TRACE();
 
     if (et >= 1 && et <= 6) {  // Yeah ... just go with it!
@@ -405,7 +403,9 @@ void AFBClient::Impl::event(char const *et, char const *label) {
 
     auto i = this->handlers.find(oet.second);
     if (i != this->handlers.end()) {
-        i->second(label);
+        if (this->labels.find(label) != this->labels.end()) {
+            i->second(label);
+        }
     }
 }