diff --git a/include/EventEmitter.h b/include/EventEmitter.h index 151c2ef..47c78cb 100644 --- a/include/EventEmitter.h +++ b/include/EventEmitter.h @@ -6,6 +6,7 @@ #include #include #include +#include namespace medooze { @@ -48,7 +49,7 @@ class EventEmitter template void emit(Type& type) { - auto it = listeners.find(typeid(type)); + auto it = listeners.find(typeid(Type).name()); if (it!=listeners.end()) static_cast*>(it->second.get())->emit(type); } @@ -56,11 +57,11 @@ class EventEmitter template EventEmitter& on(const std::function &callback) { - listeners[typeid(Type)] = std::unique_ptr(new Listener(callback)); + listeners[typeid(Type).name()] = std::unique_ptr(new Listener(callback)); return *this; } private: - std::map> listeners; + std::map> listeners; }; }; // namespace medooze