浏览代码

Columns: avoid growing ColumnsData vector when closing a window with no columns (#125)

(Will break calling GetColumnOffset() when there's no column but it
would only have worked after the first frame anyway, so basically it
didn't work)
ocornut 10 年之前
父节点
当前提交
58b23b4785
共有 1 个文件被更改,包括 2 次插入4 次删除
  1. 2 4
      imgui.cpp

+ 2 - 4
imgui.cpp

@@ -8801,7 +8801,7 @@ void ImGui::SetColumnOffset(int column_index, float offset)
 
     const float content_region_width = window->SizeContentsExplicit.x ? window->SizeContentsExplicit.x : window->Size.x;
     const float min_x = window->DC.IndentX;
-    const float max_x = content_region_width - window->Scroll.x  - ((window->Flags & ImGuiWindowFlags_NoScrollbar) ? 0 : g.Style.ScrollbarSize);// - window->WindowPadding().x;
+    const float max_x = content_region_width - window->Scroll.x - ((window->Flags & ImGuiWindowFlags_NoScrollbar) ? 0 : g.Style.ScrollbarSize);// - window->WindowPadding().x;
     const float t = (offset - min_x) / (max_x - min_x);
     window->DC.StateStorage->SetFloat(column_id, t);
     window->DC.ColumnsData[column_index].OffsetNorm = t;
@@ -8910,9 +8910,7 @@ void ImGui::Columns(int columns_count, const char* id, bool border)
     }
     else
     {
-        window->DC.ColumnsData.resize(2);
-        window->DC.ColumnsData[0].OffsetNorm = 0.0f;
-        window->DC.ColumnsData[1].OffsetNorm = 1.0f;
+        window->DC.ColumnsData.resize(0);
     }
 }