From 8fd0fe3d20714367e766a645264038bf2ea13098 Mon Sep 17 00:00:00 2001 From: BrunoSXS Date: Sat, 23 Oct 2021 17:30:18 -0300 Subject: [PATCH] Fixes a game crash caused by instantiating Camera2D and sending a notification from it before adding it to the tree. (cherry picked from commit eb2deabffe7cea3f584ce152781445714cda0ff9) --- scene/2d/camera_2d.cpp | 1 + scene/2d/canvas_item.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/scene/2d/camera_2d.cpp b/scene/2d/camera_2d.cpp index f93b7b0db8a..5425720e103 100644 --- a/scene/2d/camera_2d.cpp +++ b/scene/2d/camera_2d.cpp @@ -245,6 +245,7 @@ void Camera2D::_notification(int p_what) { } break; case NOTIFICATION_ENTER_TREE: { + ERR_FAIL_COND(!is_inside_tree()); canvas = get_canvas(); _setup_viewport(); diff --git a/scene/2d/canvas_item.cpp b/scene/2d/canvas_item.cpp index cee40af0672..87c7bbca142 100644 --- a/scene/2d/canvas_item.cpp +++ b/scene/2d/canvas_item.cpp @@ -554,6 +554,7 @@ void CanvasItem::_exit_canvas() { void CanvasItem::_notification(int p_what) { switch (p_what) { case NOTIFICATION_ENTER_TREE: { + ERR_FAIL_COND(!is_inside_tree()); first_draw = true; if (get_parent()) { CanvasItem *ci = Object::cast_to(get_parent());