Shutdown() clear out some remaining pointers (#836)

This commit is contained in:
ocornut 2016-09-20 12:41:21 +02:00
parent 87d99fce6b
commit 6e87f071b8

View File

@ -2335,10 +2335,13 @@ void ImGui::Shutdown()
} }
g.Windows.clear(); g.Windows.clear();
g.WindowsSortBuffer.clear(); g.WindowsSortBuffer.clear();
g.CurrentWindow = NULL;
g.CurrentWindowStack.clear(); g.CurrentWindowStack.clear();
g.FocusedWindow = NULL; g.FocusedWindow = NULL;
g.HoveredWindow = NULL; g.HoveredWindow = NULL;
g.HoveredRootWindow = NULL; g.HoveredRootWindow = NULL;
g.ActiveIdWindow = NULL;
g.MovedWindow = NULL;
for (int i = 0; i < g.Settings.Size; i++) for (int i = 0; i < g.Settings.Size; i++)
ImGui::MemFree(g.Settings[i].Name); ImGui::MemFree(g.Settings[i].Name);
g.Settings.clear(); g.Settings.clear();
@ -2347,6 +2350,8 @@ void ImGui::Shutdown()
g.FontStack.clear(); g.FontStack.clear();
g.OpenPopupStack.clear(); g.OpenPopupStack.clear();
g.CurrentPopupStack.clear(); g.CurrentPopupStack.clear();
g.SetNextWindowSizeConstraintCallback = NULL;
g.SetNextWindowSizeConstraintCallbackUserData = NULL;
for (int i = 0; i < IM_ARRAYSIZE(g.RenderDrawLists); i++) for (int i = 0; i < IM_ARRAYSIZE(g.RenderDrawLists); i++)
g.RenderDrawLists[i].clear(); g.RenderDrawLists[i].clear();
g.OverlayDrawList.ClearFreeMemory(); g.OverlayDrawList.ClearFreeMemory();