This commit is contained in:
Jorijn van der Graaf 2025-11-26 01:46:30 +01:00
commit 4e4615bf7f

View file

@ -159,7 +159,7 @@ namespace Crafter {
// Clear previous timing data // Clear previous timing data
this->listenerTimes.clear(); 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<EventListener<void>>(nullptr)), this->listeners.end());
for (const auto& listenerSlice : this->listeners) { for (const auto& listenerSlice : this->listeners) {
for (const auto& listener : listenerSlice.second) { for (const auto& listener : listenerSlice.second) {
auto start = std::chrono::high_resolution_clock::now(); auto start = std::chrono::high_resolution_clock::now();
@ -170,8 +170,8 @@ namespace Crafter {
} }
} }
#else #else
auto listenersCopy = this->listeners; this->listeners.erase(std::remove(this->listeners.begin(), this->listeners.end(), static_cast<EventListener<void>>(nullptr)), this->listeners.end());
for (const auto& listenerSlice : listenersCopy) { for (const auto& listenerSlice : this->listeners) {
for (const auto& listener : listenerSlice.second) { for (const auto& listener : listenerSlice.second) {
listener->function(); listener->function();
} }
@ -191,7 +191,7 @@ namespace Crafter {
// Clear previous timing data // Clear previous timing data
this->listenerTimes.clear(); 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<EventListener<T>>(nullptr)), this->listeners.end());
for (const auto& listenerSlice : this->listeners) { for (const auto& listenerSlice : this->listeners) {
for (const auto& listener : listenerSlice.second) { for (const auto& listener : listenerSlice.second) {
auto start = std::chrono::high_resolution_clock::now(); auto start = std::chrono::high_resolution_clock::now();
@ -202,7 +202,7 @@ namespace Crafter {
} }
} }
#else #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<EventListener<T>>(nullptr)), this->listeners.end());
for (const auto& listenerSlice : this->listeners) { for (const auto& listenerSlice : this->listeners) {
for (const auto& listener : listenerSlice.second) { for (const auto& listener : listenerSlice.second) {
listener->function(data); listener->function(data);