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)