From a1022aa23b2ce6438154497b0539cf1c02049d76 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Sat, 3 Aug 2024 10:35:38 -0500 Subject: [PATCH] guard next_action_type() call --- src/dialogxml/dialogs/dialog.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/dialogxml/dialogs/dialog.cpp b/src/dialogxml/dialogs/dialog.cpp index d63578e54..491a4a480 100644 --- a/src/dialogxml/dialogs/dialog.cpp +++ b/src/dialogxml/dialogs/dialog.cpp @@ -536,14 +536,12 @@ void cDialog::handle_events() { cFramerateLimiter fps_limiter; while(dialogNotToast) { - if(replaying){ - if(next_action_type() == "control_click"){ - Element& next_action = pop_next_action(); - auto info = info_from_action(next_action); - if(info["id"].empty()) continue; - eKeyMod mods = static_cast(atoi(info["mods"].c_str())); - controls[info["id"]]->triggerClickHandler(*this, info["id"], mods); - } + if(replaying && has_next_action() && next_action_type() == "control_click"){ + Element& next_action = pop_next_action(); + auto info = info_from_action(next_action); + if(info["id"].empty()) continue; + eKeyMod mods = static_cast(atoi(info["mods"].c_str())); + controls[info["id"]]->triggerClickHandler(*this, info["id"], mods); }else{ while(win.pollEvent(currentEvent)) handle_one_event(currentEvent); }