diff options
author | Haoyu Qiu <timothyqiu32@gmail.com> | 2021-12-06 13:54:59 +0800 |
---|---|---|
committer | Haoyu Qiu <timothyqiu32@gmail.com> | 2021-12-06 14:20:26 +0800 |
commit | f18de71b5629fe20adde4d1ec7feac671802356f (patch) | |
tree | fffb32f8db5a26d531d9a88205e126c48157b7e8 /scene | |
parent | b8ebe3b0bfabab4790f94e7cc9bf2869746a0454 (diff) | |
download | redot-engine-f18de71b5629fe20adde4d1ec7feac671802356f.tar.gz |
Fix crash when update() is called inside _draw()
Diffstat (limited to 'scene')
-rw-r--r-- | scene/main/canvas_item.cpp | 7 |
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); } |