From b9b26f1cd402ba6c5ae422414867b682ca717656 Mon Sep 17 00:00:00 2001 From: Jorijn van der Graaf Date: Wed, 26 Nov 2025 01:22:56 +0100 Subject: [PATCH] fixed crash --- interfaces/Crafter.Event.cppm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/interfaces/Crafter.Event.cppm b/interfaces/Crafter.Event.cppm index 1b4a9da..ae9bac9 100644 --- a/interfaces/Crafter.Event.cppm +++ b/interfaces/Crafter.Event.cppm @@ -159,7 +159,8 @@ namespace Crafter { // Clear previous timing data this->listenerTimes.clear(); - for (const auto& listenerSlice : this->listeners) { + auto listenersCopy = listenerSlice.second; + for (const auto& listenerSlice : listenersCopy) { for (const auto& listener : listenerSlice.second) { auto start = std::chrono::high_resolution_clock::now(); listener->function(); @@ -169,7 +170,8 @@ namespace Crafter { } } #else - for (const auto& listenerSlice : this->listeners) { + auto listenersCopy = listenerSlice.second; + for (const auto& listenerSlice : listenersCopy) { for (const auto& listener : listenerSlice.second) { listener->function(); } @@ -189,7 +191,8 @@ namespace Crafter { // Clear previous timing data this->listenerTimes.clear(); - for (const auto& listenerSlice : this->listeners) { + auto listenersCopy = listenerSlice.second; + for (const auto& listenerSlice : listenersCopy) { for (const auto& listener : listenerSlice.second) { auto start = std::chrono::high_resolution_clock::now(); listener->function(data); @@ -199,7 +202,8 @@ namespace Crafter { } } #else - for (const auto& listenerSlice : this->listeners) { + auto listenersCopy = listenerSlice.second; + for (const auto& listenerSlice : listenersCopy) { for (const auto& listener : listenerSlice.second) { listener->function(data); }