瀏覽代碼

Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible. (#2814, #2812)

domgho 6 年之前
父節點
當前提交
6ca1556d02
共有 2 個文件被更改,包括 3 次插入1 次删除
  1. 2 0
      docs/CHANGELOG.txt
  2. 1 1
      imgui.cpp

+ 2 - 0
docs/CHANGELOG.txt

@@ -64,6 +64,8 @@ Other changes:
 - Nav: Fixed an issue with Gamepad navigation when the movement lead to a scroll and
   frame time > repeat rate. Triggering a new move request on the same frame as a move
   result lead to an incorrect calculation and loss of navigation id. (#6171)
+- Nav: Fixed SetItemDefaultFocus() from not scrolling when item is partially visible.
+  (#2814, #2812) [@DomGries]
 - IO: Lifted constraint to call io.AddEventXXX functions from current context. (#4921, #5856, #6199)
 - InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab
   for completion or textinput is active (regresion from 1.89).

+ 1 - 1
imgui.cpp

@@ -7505,7 +7505,7 @@ void ImGui::SetItemDefaultFocus()
     NavUpdateAnyRequestFlag();
 
     // Scroll could be done in NavInitRequestApplyResult() via an opt-in flag (we however don't want regular init requests to scroll)
-    if (!IsItemVisible())
+    if (!window->ClipRect.Contains(g.LastItemData.Rect))
         ScrollToRectEx(window, g.LastItemData.Rect, ImGuiScrollFlags_None);
 }