浏览代码

Fix crash when update() is called inside _draw()

Haoyu Qiu 3 年之前
父节点
当前提交
f18de71b56
共有 1 个文件被更改,包括 4 次插入3 次删除
  1. 4 3
      scene/main/canvas_item.cpp

+ 4 - 3
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);
 			}