Jelajahi Sumber

Don't start a new tooltip timer for the same tooltip

Jaroslaw Filiochowski 9 tahun lalu
induk
melakukan
1e7b9c509f
1 mengubah file dengan 9 tambahan dan 1 penghapusan
  1. 9 1
      scene/main/viewport.cpp

+ 9 - 1
scene/main/viewport.cpp

@@ -2007,8 +2007,16 @@ void Viewport::_gui_input_event(InputEvent p_event) {
 
 				}
 
+				bool is_tooltip_shown = false;
 
-				if (can_tooltip) {
+				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 (can_tooltip && !is_tooltip_shown) {
 
 					gui.tooltip=over;
 					gui.tooltip_pos=mpos;//(parent_xform * get_transform()).affine_inverse().xform(pos);