From 0f9434740f044d32c3396191415a6d0446306446 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Fri, 19 May 2023 17:15:37 +0200 Subject: [PATCH] fix: Crash when deleting last environment variable in pattern editor --- lib/external/pattern_language | 2 +- plugins/builtin/source/content/views/view_pattern_editor.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/external/pattern_language b/lib/external/pattern_language index 62042c3c7..f0780b7a7 160000 --- a/lib/external/pattern_language +++ b/lib/external/pattern_language @@ -1 +1 @@ -Subproject commit 62042c3c782a6f4cf69c5ecc7bbb5a68fdec623c +Subproject commit f0780b7a7625fb17297adfe0baafdbe730a58aa9 diff --git a/plugins/builtin/source/content/views/view_pattern_editor.cpp b/plugins/builtin/source/content/views/view_pattern_editor.cpp index e15fa58b2..e969e991a 100644 --- a/plugins/builtin/source/content/views/view_pattern_editor.cpp +++ b/plugins/builtin/source/content/views/view_pattern_editor.cpp @@ -341,10 +341,13 @@ namespace hex::plugin::builtin { { if (ImGui::IconButton(ICON_VS_REMOVE, ImGui::GetStyleColorVec4(ImGuiCol_Text))) { bool isFirst = iter == envVars.begin(); + bool isLast = std::next(iter) == envVars.end(); envVars.erase(iter); if (isFirst) iter = envVars.begin(); + if (isLast) + iter = std::prev(envVars.end()); } } ImGui::EndDisabled();