瀏覽代碼

Hide tooltip if new mouse position's tooltip is empty

Jaroslaw Filiochowski 9 年之前
父節點
當前提交
be560a750c
共有 1 個文件被更改,包括 11 次插入5 次删除
  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;
 				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) {
 				if (can_tooltip && !is_tooltip_shown) {