From 303dc091b48c4dba71f9351d980b41860b25b4f8 Mon Sep 17 00:00:00 2001 From: ocornut Date: Fri, 1 Sep 2023 12:24:03 +0200 Subject: [PATCH] Revert "IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456)" This reverts commit b8f93a8fe0980cdcd9ec58dd529a4f1daac4a78e. Too breaking for user. --- docs/CHANGELOG.txt | 1 - imgui.cpp | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index 8b62a9ca7..75635670b 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -68,7 +68,6 @@ Other changes: - ImDrawList: Automatically calling ChannelsMerge() if not done after a split. - ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317) [@EggsyCRO, @jdpatdiscord] -- IO: ImGuiMod_Shortcut (Ctrl/Cmd depending on platform) is reflected in io.KeyMods. (#5923, #456) - IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ',') for languages needing it. Should ideally be set to the value of '*localeconv()->decimal_point' but our backends don't do it yet. (#6719, #2278) diff --git a/imgui.cpp b/imgui.cpp index 7db25e67f..2843fbaf1 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -8480,7 +8480,6 @@ static ImGuiKeyChord GetMergedModsFromKeys() if (ImGui::IsKeyDown(ImGuiMod_Shift)) { mods |= ImGuiMod_Shift; } if (ImGui::IsKeyDown(ImGuiMod_Alt)) { mods |= ImGuiMod_Alt; } if (ImGui::IsKeyDown(ImGuiMod_Super)) { mods |= ImGuiMod_Super; } - if (ImGui::IsKeyDown(ImGuiMod_Shortcut)) { mods |= ImGuiMod_Shortcut; } return mods; } @@ -9227,7 +9226,7 @@ static void ImGui::ErrorCheckEndFrameSanityChecks() // We silently accommodate for this case by ignoring the case where all io.KeyXXX modifiers were released (aka key_mod_flags == 0), // while still correctly asserting on mid-frame key press events. const ImGuiKeyChord key_mods = GetMergedModsFromKeys(); - IM_ASSERT((key_mods == 0 || (g.IO.KeyMods & ~ImGuiMod_Shortcut ) == (key_mods & ~ImGuiMod_Shortcut)) && "Mismatching io.KeyCtrl/io.KeyShift/io.KeyAlt/io.KeySuper vs io.KeyMods"); + IM_ASSERT((key_mods == 0 || g.IO.KeyMods == key_mods) && "Mismatching io.KeyCtrl/io.KeyShift/io.KeyAlt/io.KeySuper vs io.KeyMods"); IM_UNUSED(key_mods); // [EXPERIMENTAL] Recover from errors: You may call this yourself before EndFrame().