Browse Source

Merge pull request #53460 from timothyqiu/tooltip-request-func

Rémi Verschelde 3 years ago
parent
commit
36de097577
2 changed files with 4 additions and 2 deletions
  1. 3 1
      scene/gui/text_edit.cpp
  2. 1 1
      scene/gui/text_edit.h

+ 3 - 1
scene/gui/text_edit.cpp

@@ -2399,6 +2399,7 @@ Control::CursorShape TextEdit::get_cursor_shape(const Point2 &p_pos) const {
 }
 }
 
 
 String TextEdit::get_tooltip(const Point2 &p_pos) const {
 String TextEdit::get_tooltip(const Point2 &p_pos) const {
+	Object *tooltip_obj = ObjectDB::get_instance(tooltip_obj_id);
 	if (!tooltip_obj) {
 	if (!tooltip_obj) {
 		return Control::get_tooltip(p_pos);
 		return Control::get_tooltip(p_pos);
 	}
 	}
@@ -2421,7 +2422,8 @@ String TextEdit::get_tooltip(const Point2 &p_pos) const {
 }
 }
 
 
 void TextEdit::set_tooltip_request_func(Object *p_obj, const StringName &p_function, const Variant &p_udata) {
 void TextEdit::set_tooltip_request_func(Object *p_obj, const StringName &p_function, const Variant &p_udata) {
-	tooltip_obj = p_obj;
+	ERR_FAIL_NULL(p_obj);
+	tooltip_obj_id = p_obj->get_instance_id();
 	tooltip_func = p_function;
 	tooltip_func = p_function;
 	tooltip_ud = p_udata;
 	tooltip_ud = p_udata;
 }
 }

+ 1 - 1
scene/gui/text_edit.h

@@ -330,7 +330,7 @@ private:
 	int _get_column_pos_of_word(const String &p_key, const String &p_search, uint32_t p_search_flags, int p_from_column) const;
 	int _get_column_pos_of_word(const String &p_key, const String &p_search, uint32_t p_search_flags, int p_from_column) const;
 
 
 	/* Tooltip. */
 	/* Tooltip. */
-	Object *tooltip_obj = nullptr;
+	ObjectID tooltip_obj_id;
 	StringName tooltip_func;
 	StringName tooltip_func;
 	Variant tooltip_ud;
 	Variant tooltip_ud;