Tab Bar: zero clear more structures.
diff --git a/imgui_internal.h b/imgui_internal.h
index 5e408b6..72cabb2 100644
--- a/imgui_internal.h
+++ b/imgui_internal.h
@@ -1740,7 +1740,7 @@
ImS16 IndexDuringLayout; // Index only used during TabBarLayout()
bool WantClose; // Marked as closed by SetTabItemClosed()
- ImGuiTabItem() { ID = 0; Flags = ImGuiTabItemFlags_None; LastFrameVisible = LastFrameSelected = -1; NameOffset = -1; Offset = Width = ContentWidth = 0.0f; BeginOrder = -1; IndexDuringLayout = -1; WantClose = false; }
+ ImGuiTabItem() { memset(this, 0, sizeof(*this)); LastFrameVisible = LastFrameSelected = -1; NameOffset = BeginOrder = IndexDuringLayout = -1; }
};
// Storage for a tab bar (sizeof() 152 bytes)
diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp
index 022012f..bb84083 100644
--- a/imgui_widgets.cpp
+++ b/imgui_widgets.cpp
@@ -6802,20 +6802,9 @@
ImGuiTabBar::ImGuiTabBar()
{
- Flags = ImGuiTabBarFlags_None;
- ID = 0;
- SelectedTabId = NextSelectedTabId = VisibleTabId = 0;
+ memset(this, 0, sizeof(*this));
CurrFrameVisible = PrevFrameVisible = -1;
- CurrTabsContentsHeight = PrevTabsContentsHeight = 0.0f;
- WidthAllTabs = WidthAllTabsIdeal = 0.0f;
- ScrollingAnim = ScrollingTarget = ScrollingTargetDistToVisibility = ScrollingSpeed = 0.0f;
- ScrollingRectMinX = ScrollingRectMaxX = 0.0f;
- ReorderRequestTabId = 0;
- ReorderRequestDir = 0;
- TabsActiveCount = 0;
LastTabItemIdx = -1;
- BeginCount = 0;
- WantLayout = VisibleTabWasSubmitted = TabsAddedNew = false;
}
static int IMGUI_CDECL TabItemComparerBySection(const void* lhs, const void* rhs)