summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaoyu Qiu <timothyqiu32@gmail.com>2021-12-06 13:54:59 +0800
committerHaoyu Qiu <timothyqiu32@gmail.com>2021-12-06 14:20:26 +0800
commitf18de71b5629fe20adde4d1ec7feac671802356f (patch)
treefffb32f8db5a26d531d9a88205e126c48157b7e8
parentb8ebe3b0bfabab4790f94e7cc9bf2869746a0454 (diff)
downloadredot-engine-f18de71b5629fe20adde4d1ec7feac671802356f.tar.gz
Fix crash when update() is called inside _draw()
-rw-r--r--scene/main/canvas_item.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/scene/main/canvas_item.cpp b/scene/main/canvas_item.cpp
index 22e3c3bf24..0fd3a963ae 100644
--- a/scene/main/canvas_item.cpp
+++ b/scene/main/canvas_item.cpp
@@ -275,9 +275,6 @@ void CanvasItem::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_ENTER_TREE: {
ERR_FAIL_COND(!is_inside_tree());
- _update_texture_filter_changed(false);
- _update_texture_repeat_changed(false);
-
first_draw = true;
Node *parent = get_parent();
if (parent) {
@@ -306,6 +303,10 @@ void CanvasItem::_notification(int p_what) {
}
}
_enter_canvas();
+
+ _update_texture_filter_changed(false);
+ _update_texture_repeat_changed(false);
+
if (!block_transform_notify && !xform_change.in_list()) {
get_tree()->xform_change_list.add(&xform_change);
}