diff --git a/imgui.cpp b/imgui.cpp index 1da4e33b..020fc51c 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -6527,7 +6527,7 @@ bool ImGui::Selectable(const char* label, bool selected, const ImVec2& size_arg) const ImGuiID id = window->GetID(label); const ImVec2 label_size = CalcTextSize(label, NULL, true); - const float w = window->Pos.x + ImGui::GetContentRegionMax().x - window->DC.CursorPos.x; + const float w = ImMax(label_size.x, window->Pos.x + ImGui::GetContentRegionMax().x - window->DC.CursorPos.x); const ImVec2 size(size_arg.x != 0.0f ? size_arg.x : w, size_arg.y != 0.0f ? size_arg.y : label_size.y); const ImRect bb(window->DC.CursorPos, window->DC.CursorPos + size); ItemSize(bb);