瀏覽代碼

Camera2D: Fix crash calling align when not in tree

Fixes #45976.
Rémi Verschelde 4 年之前
父節點
當前提交
5a22bd2b3e
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      scene/2d/camera_2d.cpp

+ 2 - 1
scene/2d/camera_2d.cpp

@@ -94,7 +94,7 @@ Vector2 Camera2D::get_zoom() const {
 
 Transform2D Camera2D::get_camera_transform() {
 
-	if (!get_tree())
+	if (!get_tree() || !viewport)
 		return Transform2D();
 
 	ERR_FAIL_COND_V(custom_viewport && !ObjectDB::get_instance(custom_viewport_id), Transform2D());
@@ -498,6 +498,7 @@ void Camera2D::reset_smoothing() {
 
 void Camera2D::align() {
 
+	ERR_FAIL_COND(!is_inside_tree() || !viewport);
 	ERR_FAIL_COND(custom_viewport && !ObjectDB::get_instance(custom_viewport_id));
 
 	Size2 screen_size = viewport->get_visible_rect().size;