summaryrefslogtreecommitdiffstats
path: root/scene/main/viewport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/main/viewport.cpp')
-rw-r--r--scene/main/viewport.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index 0036247625..192427f8a6 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -1933,7 +1933,12 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
}
}
- if (!is_tooltip_shown && over->can_process()) {
+ // If the tooltip timer isn't running, start it.
+ // Otherwise, only reset the timer if the mouse has moved more than 5 pixels.
+ if (!is_tooltip_shown && over->can_process() &&
+ (gui.tooltip_timer.is_null() ||
+ Math::is_zero_approx(gui.tooltip_timer->get_time_left()) ||
+ mm->get_relative().length() > 5.0)) {
if (gui.tooltip_timer.is_valid()) {
gui.tooltip_timer->release_connections();
gui.tooltip_timer = Ref<SceneTreeTimer>();