Fix Camera2D crashes
This commit is contained in:
parent
0a9e6e478e
commit
724d6581d6
|
@ -250,7 +250,7 @@ void Camera2D::_notification(int p_what) {
|
|||
add_to_group(group_name);
|
||||
add_to_group(canvas_group_name);
|
||||
|
||||
if (enabled && !viewport->get_camera_2d()) {
|
||||
if (!Engine::get_singleton()->is_editor_hint() && enabled && !viewport->get_camera_2d()) {
|
||||
make_current();
|
||||
}
|
||||
|
||||
|
@ -260,11 +260,11 @@ void Camera2D::_notification(int p_what) {
|
|||
} break;
|
||||
|
||||
case NOTIFICATION_EXIT_TREE: {
|
||||
remove_from_group(group_name);
|
||||
remove_from_group(canvas_group_name);
|
||||
if (is_current()) {
|
||||
clear_current();
|
||||
}
|
||||
remove_from_group(group_name);
|
||||
remove_from_group(canvas_group_name);
|
||||
viewport = nullptr;
|
||||
} break;
|
||||
|
||||
|
|
|
@ -1061,10 +1061,10 @@ void Viewport::assign_next_enabled_camera_2d(const StringName &p_camera_group) {
|
|||
get_tree()->get_nodes_in_group(p_camera_group, &camera_list);
|
||||
|
||||
Camera2D *new_camera = nullptr;
|
||||
for (const Node *E : camera_list) {
|
||||
const Camera2D *cam = Object::cast_to<Camera2D>(E);
|
||||
for (Node *E : camera_list) {
|
||||
Camera2D *cam = Object::cast_to<Camera2D>(E);
|
||||
if (cam->is_enabled()) {
|
||||
new_camera = const_cast<Camera2D *>(cam);
|
||||
new_camera = cam;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue