Przeglądaj źródła

Hide tooltip if new mouse position's tooltip is empty

Jaroslaw Filiochowski 9 lat temu
rodzic
commit
be560a750c
1 zmienionych plików z 11 dodań i 5 usunięć
  1. 11 5
      scene/main/viewport.cpp

+ 11 - 5
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) {