diff --git a/imgui.cpp b/imgui.cpp index 44d09852f..125c1a5fd 100644 --- a/imgui.cpp +++ b/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; }