From ad9bdaf4a0783647f764d3f7a3fe742b4c9a9c3d Mon Sep 17 00:00:00 2001 From: Baoulettes Date: Sat, 21 May 2022 17:00:56 +0200 Subject: [PATCH] Fix Radiobox uniqueness issues --- libultraship/libultraship/SohImGuiImpl.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/libultraship/libultraship/SohImGuiImpl.cpp b/libultraship/libultraship/SohImGuiImpl.cpp index d17d6ccee..0f1d06e64 100644 --- a/libultraship/libultraship/SohImGuiImpl.cpp +++ b/libultraship/libultraship/SohImGuiImpl.cpp @@ -401,11 +401,19 @@ namespace SohImGui { EnhancementRadioButton("German", "gLanguages", 1); EnhancementRadioButton("French", "gLanguages", 2); */ - int val = CVar_GetS32(cvarName.c_str(), 0); - if (ImGui::RadioButton(text.c_str(), id == val)) { - CVar_SetS32(cvarName.c_str(), (int)id); + char* unique_name = (char* ) malloc(1 + strlen(text)+ strlen(cvarName)); + strcpy(unique_name, text); + strcat(unique_name, cvarName); + char* non_visible_unique_name = (char* ) malloc(1 + strlen("##")+ strlen(unique_name)); + strcpy(non_visible_unique_name, "##"); + strcat(non_visible_unique_name, unique_name); + int val = CVar_GetS32(cvarName, 0); + if (ImGui::RadioButton(non_visible_unique_name, id == val)) { + CVar_SetS32(cvarName, id); needs_save = true; } + ImGui::SameLine(); + ImGui::Text("%s", text); } void EnhancementCheckbox(std::string text, std::string cvarName)