浏览代码

Nav: Addendum: only set io.WantSetMousePos if necessary. (#1867)

omar 7 年之前
父节点
当前提交
8e48ab6b19
共有 1 个文件被更改,包括 5 次插入2 次删除
  1. 5 2
      imgui.cpp

+ 5 - 2
imgui.cpp

@@ -3262,8 +3262,11 @@ static void ImGui::NavUpdate()
         // Set mouse position given our knowledge of the navigated item position from last frame
         if ((g.IO.ConfigFlags & ImGuiConfigFlags_NavEnableSetMousePos) && (g.IO.BackendFlags & ImGuiBackendFlags_HasSetMousePos))
         {
-            g.IO.MousePos = g.IO.MousePosPrev = NavCalcPreferredRefPos();
-            g.IO.WantSetMousePos = true;
+            if (!g.NavDisableHighlight && g.NavDisableMouseHover && g.NavWindow)
+            {
+                g.IO.MousePos = g.IO.MousePosPrev = NavCalcPreferredRefPos();
+                g.IO.WantSetMousePos = true;
+            }
         }
         g.NavMousePosDirty = false;
     }