From f903a7e8e23f2d80fbb5198e9e049632a28d798f Mon Sep 17 00:00:00 2001 From: ocornut Date: Tue, 7 Jul 2026 22:52:47 +0200 Subject: [PATCH] Settings: fixed Windows not honoring DiscardWhenMissingDate. (#9460) --- imgui.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/imgui.cpp b/imgui.cpp index 43409848e..5efb3a6e2 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -15904,9 +15904,10 @@ static void WindowSettingsHandler_Cleanup(ImGuiContext* ctx, ImGuiSettingsHandle ImGuiContext& g = *ctx; for (ImGuiWindowSettings* settings = g.SettingsWindows.begin(); settings != NULL; settings = g.SettingsWindows.next_chunk(settings)) { - if (args->_DiscardOlderThanDate != 0 && settings->LastUsedDate.Unpack() < args->_DiscardOlderThanDate) + const bool is_valid = settings->LastUsedDate.IsValid(); + if ((args->_DiscardOlderThanDate != 0 && settings->LastUsedDate.Unpack() < args->_DiscardOlderThanDate) || (args->DiscardWhenMissingDate && !is_valid)) settings->WantDelete = true; - if (args->SetCurrentSessionDateToAll || (args->SetCurrentSessionDateWhenMissingDate && settings->LastUsedDate.IsValid() == false)) + if (args->SetCurrentSessionDateToAll || (args->SetCurrentSessionDateWhenMissingDate && !is_valid)) settings->LastUsedDate = g.SessionDate; } }