Ver Fonte

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

ocornut há 1 ano atrás
pai
commit
3a078466a7
2 ficheiros alterados com 3 adições e 2 exclusões
  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.
   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
 - Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow from making the child menu
   reopen and flicker (using ImGuiPopupFlags_NoReopen).
   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)
   when it is already open. (#1497, #1533)
   (Note that this differs from specific handling we already have in place for the case of calling
   (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
   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)
     // 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)
     // 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;
         const bool is_tabbing = (g.NavMoveFlags & ImGuiNavMoveFlags_IsTabbing) != 0;
         if (is_tabbing)
         if (is_tabbing)