Forráskód Böngészése

Fixed calling DestroyContext() always saving .ini data with the current context instead of the supplied context pointer. (#2066)

omar 7 éve
szülő
commit
2eaf722fd7
2 módosított fájl, 10 hozzáadás és 0 törlés
  1. 5 0
      docs/CHANGELOG.txt
  2. 5 0
      imgui.cpp

+ 5 - 0
docs/CHANGELOG.txt

@@ -33,6 +33,11 @@ HOW TO UPDATE?
  VERSION 1.66 (In Progress)
 -----------------------------------------------------------------------
 
+Other Changes:
+
+- Fixed calling DestroyContext() always saving .ini data with the current context instead
+  of the supplied context pointer. (#2066)
+  
 
 -----------------------------------------------------------------------
  VERSION 1.65 (Released 2018-09-06)

+ 5 - 0
imgui.cpp

@@ -3281,7 +3281,12 @@ void ImGui::Shutdown(ImGuiContext* context)
 
     // Save settings (unless we haven't attempted to load them: CreateContext/DestroyContext without a call to NewFrame shouldn't save an empty file)
     if (g.SettingsLoaded && g.IO.IniFilename != NULL)
+    {
+        ImGuiContext* backup_context = GImGui;
+        SetCurrentContext(context);
         SaveIniSettingsToDisk(g.IO.IniFilename);
+        SetCurrentContext(backup_context);
+    }
 
     // Clear everything else
     for (int i = 0; i < g.Windows.Size; i++)