Browse Source

Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.

ocornut 1 year ago
parent
commit
3a078466a7
2 changed files with 3 additions and 2 deletions
  1. 2 1
      docs/CHANGELOG.txt
  2. 1 1
      imgui.cpp

+ 2 - 1
docs/CHANGELOG.txt

@@ -58,7 +58,8 @@ Other changes:
   indiviudal left/right alt key without intefering with the other.
 - Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow from making the child menu
   reopen and flicker (using ImGuiPopupFlags_NoReopen).
-- OpenPopup(): Added ImGuiPopupFlags_NoReopen flag to specifically not close nd reopen a popup
+- Nav: ImGuiWindowFlags_NoNavInputs is tested during scoring so NavFlattened windows can use it.
+- OpenPopup(): Added ImGuiPopupFlags_NoReopen flag to specifically not close and reopen a popup
   when it is already open. (#1497, #1533)
   (Note that this differs from specific handling we already have in place for the case of calling
   OpenPopup() repeatedly every frame: we already didn't reopen in that specific situation, otherwise

+ 1 - 1
imgui.cpp

@@ -11509,7 +11509,7 @@ static void ImGui::NavProcessItem()
 
     // Process Move Request (scoring for navigation)
     // FIXME-NAV: Consider policy for double scoring (scoring from NavScoringRect + scoring from a rect wrapped according to current wrapping policy)
-    if (g.NavMoveScoringItems && (item_flags & ImGuiItemFlags_Disabled) == 0)
+    if (g.NavMoveScoringItems && (item_flags & ImGuiItemFlags_Disabled) == 0 && (window->Flags & ImGuiWindowFlags_NoNavInputs) == 0)
     {
         const bool is_tabbing = (g.NavMoveFlags & ImGuiNavMoveFlags_IsTabbing) != 0;
         if (is_tabbing)