diff --git a/imgui.cpp b/imgui.cpp index 21c49f36..d4f833ba 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -1075,7 +1075,6 @@ static ImVec2 NavCalcPreferredRefPos(); static void NavSaveLastChildNavWindowIntoParent(ImGuiWindow* nav_window); static ImGuiWindow* NavRestoreLastChildNavWindow(ImGuiWindow* window); static void NavRestoreLayer(ImGuiNavLayer layer); -static void NavRestoreHighlightAfterMove(); static int FindWindowFocusIndex(ImGuiWindow* window); // Error Checking and Debug Tools diff --git a/imgui_internal.h b/imgui_internal.h index 8fcf99d8..b153cc15 100644 --- a/imgui_internal.h +++ b/imgui_internal.h @@ -3016,6 +3016,7 @@ namespace ImGui IMGUI_API void NavMoveRequestApplyResult(); IMGUI_API void NavMoveRequestTryWrapping(ImGuiWindow* window, ImGuiNavMoveFlags move_flags); IMGUI_API void NavClearPreferredPosForAxis(ImGuiAxis axis); + IMGUI_API void NavRestoreHighlightAfterMove(); IMGUI_API void NavUpdateCurrentWindowIsScrollPushableX(); IMGUI_API void SetNavWindow(ImGuiWindow* window); IMGUI_API void SetNavID(ImGuiID id, ImGuiNavLayer nav_layer, ImGuiID focus_scope_id, const ImRect& rect_rel); diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp index 2b4d5141..b1edf763 100644 --- a/imgui_widgets.cpp +++ b/imgui_widgets.cpp @@ -6730,14 +6730,13 @@ int ImGui::TypingSelectFindMatch(ImGuiTypingSelectRequest* req, int items_count, { if (req == NULL || req->SelectRequest == false) // Support NULL parameter so both calls can be done from same spot. return -1; - ImGuiContext& g = *GImGui; int idx = -1; if (req->SingleCharMode && (req->Flags & ImGuiTypingSelectFlags_AllowSingleCharMode)) idx = TypingSelectFindNextSingleCharMatch(req, items_count, get_item_name_func, user_data, nav_item_idx); else idx = TypingSelectFindBestLeadingMatch(req, items_count, get_item_name_func, user_data); if (idx != -1) - g.NavDisableMouseHover = true; + NavRestoreHighlightAfterMove(); return idx; }