From 6d452bf0fe19be60e7eb881d3ffeab5a658d5d95 Mon Sep 17 00:00:00 2001 From: ocornut Date: Mon, 6 Nov 2023 14:16:25 +0100 Subject: [PATCH] ImStrv: Fixed BeginCombo() with ImGuiComboFlags_CustomPreview + fixes for latest (amended). --- imgui_draw.cpp | 2 +- imgui_widgets.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/imgui_draw.cpp b/imgui_draw.cpp index 9505267a5..bdb83965a 100644 --- a/imgui_draw.cpp +++ b/imgui_draw.cpp @@ -5632,7 +5632,7 @@ begin: } else { - s = line_end ? line_end + 1 : text.End; + s = line_end ? line_end + 1 : text_end; } y += line_height; } diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp index c429fb4cc..f86a00104 100644 --- a/imgui_widgets.cpp +++ b/imgui_widgets.cpp @@ -1911,7 +1911,7 @@ bool ImGui::BeginCombo(ImStrv label, ImStrv preview_value, ImGuiComboFlags flags const float arrow_size = (flags & ImGuiComboFlags_NoArrowButton) ? 0.0f : GetFrameHeight(); const ImVec2 label_size = CalcTextSize(label, true); - const float preview_width = ((flags & ImGuiComboFlags_WidthFitPreview) && (preview_value != NULL)) ? CalcTextSize(preview_value, true).x : 0.0f; + const float preview_width = ((flags & ImGuiComboFlags_WidthFitPreview) && preview_value) ? CalcTextSize(preview_value, true).x : 0.0f; const float w = (flags & ImGuiComboFlags_NoPreview) ? arrow_size : ((flags & ImGuiComboFlags_WidthFitPreview) ? (arrow_size + preview_width + style.FramePadding.x * 2.0f) : CalcItemWidth()); const ImRect bb(window->DC.CursorPos, window->DC.CursorPos + ImVec2(w, label_size.y + style.FramePadding.y * 2.0f)); const ImRect total_bb(bb.Min, bb.Max + ImVec2(label_size.x > 0.0f ? style.ItemInnerSpacing.x + label_size.x : 0.0f, 0.0f)); @@ -1950,7 +1950,7 @@ bool ImGui::BeginCombo(ImStrv label, ImStrv preview_value, ImGuiComboFlags flags if (flags & ImGuiComboFlags_CustomPreview) { g.ComboPreviewData.PreviewRect = ImRect(bb.Min.x, bb.Min.y, value_x2, bb.Max.y); - IM_ASSERT(!preview_value); + IM_ASSERT(preview_value.empty()); } // Render preview and label