summaryrefslogtreecommitdiffstats
path: root/scene/gui/text_edit.cpp
diff options
context:
space:
mode:
authorHaoyu Qiu <timothyqiu32@gmail.com>2021-10-06 14:32:21 +0800
committerHaoyu Qiu <timothyqiu32@gmail.com>2021-10-06 15:00:31 +0800
commit45e943f4fe9df34b86c649f99a91e5e8baeaf63c (patch)
tree20473478e99ea107d3f24af450e77ad27fed5502 /scene/gui/text_edit.cpp
parenta7ba22763139b29d825e0f4ef3e718533da069ea (diff)
downloadredot-engine-45e943f4fe9df34b86c649f99a91e5e8baeaf63c.tar.gz
Fix crash when tooltip_request_func object is freed
Diffstat (limited to 'scene/gui/text_edit.cpp')
-rw-r--r--scene/gui/text_edit.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp
index 57bcbb7c2d..6370ea9c95 100644
--- a/scene/gui/text_edit.cpp
+++ b/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 {
+ Object *tooltip_obj = ObjectDB::get_instance(tooltip_obj_id);
if (!tooltip_obj) {
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) {
- 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;
}