Преглед изворни кода

Merge pull request #53461 from timothyqiu/tooltip-request-func-3.x

Rémi Verschelde пре 3 година
родитељ
комит
3e2bb415a9
2 измењених фајлова са 5 додато и 3 уклоњено
  1. 4 2
      scene/gui/text_edit.cpp
  2. 1 1
      scene/gui/text_edit.h

+ 4 - 2
scene/gui/text_edit.cpp

@@ -6801,6 +6801,7 @@ String TextEdit::get_word_at_pos(const Vector2 &p_pos) const {
 }
 
 String TextEdit::get_tooltip(const Point2 &p_pos) const {
+	Object *tooltip_obj = ObjectDB::get_instance(tooltip_obj_id);
 	if (!tooltip_obj) {
 		return Control::get_tooltip(p_pos);
 	}
@@ -6822,7 +6823,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) {
-	tooltip_obj = p_obj;
+	ERR_FAIL_NULL(p_obj);
+	tooltip_obj_id = p_obj->get_instance_id();
 	tooltip_func = p_function;
 	tooltip_ud = p_udata;
 }
@@ -7368,7 +7370,7 @@ TextEdit::TextEdit() {
 	completion_enabled = false;
 	completion_active = false;
 	completion_line_ofs = 0;
-	tooltip_obj = nullptr;
+	tooltip_obj_id = ObjectID();
 	line_numbers = false;
 	line_numbers_zero_padded = false;
 	line_length_guidelines = false;

+ 1 - 1
scene/gui/text_edit.h

@@ -412,7 +412,7 @@ private:
 	VScrollBar *v_scroll;
 	bool updating_scrolls;
 
-	Object *tooltip_obj;
+	ObjectID tooltip_obj_id;
 	StringName tooltip_func;
 	Variant tooltip_ud;