diff --git a/interfaces/Crafter.Event.cppm b/interfaces/Crafter.Event.cppm index 1d5dfb1..35edc24 100644 --- a/interfaces/Crafter.Event.cppm +++ b/interfaces/Crafter.Event.cppm @@ -159,7 +159,7 @@ namespace Crafter { // Clear previous timing data this->listenerTimes.clear(); - this->listeners.erase(std::remove(this->listeners.begin(), this->listeners.end(), nullptr), this->listeners.end()); + this->listeners.erase(std::remove(this->listeners.begin(), this->listeners.end(), static_cast>(nullptr)), this->listeners.end()); for (const auto& listenerSlice : this->listeners) { for (const auto& listener : listenerSlice.second) { auto start = std::chrono::high_resolution_clock::now(); @@ -170,8 +170,8 @@ namespace Crafter { } } #else - auto listenersCopy = this->listeners; - for (const auto& listenerSlice : listenersCopy) { + this->listeners.erase(std::remove(this->listeners.begin(), this->listeners.end(), static_cast>(nullptr)), this->listeners.end()); + for (const auto& listenerSlice : this->listeners) { for (const auto& listener : listenerSlice.second) { listener->function(); } @@ -191,7 +191,7 @@ namespace Crafter { // Clear previous timing data this->listenerTimes.clear(); - this->listeners.erase(std::remove(this->listeners.begin(), this->listeners.end(), nullptr), this->listeners.end()); + this->listeners.erase(std::remove(this->listeners.begin(), this->listeners.end(), static_cast>(nullptr)), this->listeners.end()); for (const auto& listenerSlice : this->listeners) { for (const auto& listener : listenerSlice.second) { auto start = std::chrono::high_resolution_clock::now(); @@ -202,7 +202,7 @@ namespace Crafter { } } #else - this->listeners.erase(std::remove(this->listeners.begin(), this->listeners.end(), nullptr), this->listeners.end()); + this->listeners.erase(std::remove(this->listeners.begin(), this->listeners.end(), static_cast>(nullptr)), this->listeners.end()); for (const auto& listenerSlice : this->listeners) { for (const auto& listener : listenerSlice.second) { listener->function(data);