瀏覽代碼

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);
     }
 }