summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scene/main/viewport.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index 9d2b0cfccf..cf84f8f425 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -2009,11 +2009,17 @@ void Viewport::_gui_input_event(InputEvent p_event) {
bool is_tooltip_shown = false;
- if (can_tooltip && gui.tooltip_popup) {
- String tooltip = over->get_tooltip(gui.tooltip->get_global_transform().xform_inv(mpos));
-
- if (gui.tooltip_popup && tooltip == gui.tooltip_label->get_text())
- is_tooltip_shown = true;
+ if (gui.tooltip_popup) {
+ if (can_tooltip) {
+ String tooltip = over->get_tooltip(gui.tooltip->get_global_transform().xform_inv(mpos));
+
+ if (tooltip.length() == 0)
+ _gui_cancel_tooltip();
+ else if (tooltip == gui.tooltip_label->get_text())
+ is_tooltip_shown = true;
+ }
+ else
+ _gui_cancel_tooltip();
}
if (can_tooltip && !is_tooltip_shown) {