From f09c263d2cb207e39267facc27cc0b4a6d0eb35a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 24 Jun 2024 14:56:47 -0500 Subject: [PATCH] fix one-frame glitch --- TODO.md | 2 +- src/gui/insEdit.cpp | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/TODO.md b/TODO.md index 14a1f6bf6..f97b881af 100644 --- a/TODO.md +++ b/TODO.md @@ -1,4 +1,4 @@ -# to-do for 0.6.5 +# to-do for 0.6.6 - fix possible issues when moving selection - fix Metal intro crash diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index d6007fedb..2aacf15c6 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -2152,7 +2152,12 @@ void FurnaceGUI::drawMacros(std::vector& macros, FurnaceGUI switch (settings.macroLayout) { case 0: { if (ImGui::BeginTable("MacroSpace",2)) { - ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed,0.0); + float precalcWidth=0.0f; + for (FurnaceGUIMacroDesc& i: macros) { + float next=ImGui::CalcTextSize(i.displayName).x+ImGui::GetStyle().ItemInnerSpacing.x*2.0f+ImGui::CalcTextSize(ICON_FA_CHEVRON_UP).x+ImGui::GetStyle().ItemSpacing.x*2.0f; + if (next>precalcWidth) precalcWidth=next; + } + ImGui::TableSetupColumn("c0",ImGuiTableColumnFlags_WidthFixed,MAX(120.0f*dpiScale,precalcWidth)); ImGui::TableSetupColumn("c1",ImGuiTableColumnFlags_WidthStretch,0.0); ImGui::TableNextRow(); ImGui::TableNextColumn();