### Godot version

v4.0.beta.custom_build [cd7a429ce] (54346e94a97d41a4a6e12a04e57b6cbc0a9bbc28 + #72537)

### System information

Ubuntu, Nvidia, Vulkan

### Issue description

Unfortunately for this one I haven't been able to isolate any repo steps. I've only got this backtrace:

```
Godot Engine v4.0.beta.custom_build.cd7a429ce - https://godotengine.org
libspeechd.so.2: cannot open shared object file: No such file or directory
Vulkan API 1.3.224 - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce GTX 970

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.beta.custom_build (cd7a429ceb077dbbcef0fbc6ab7fd812bc9c52d5)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x3bcf0) [0x7f14e8e3bcf0] (??:0)
[2] Camera2D::is_enabled() const godot/scene/2d/camera_2d.cpp:407)
[3] Viewport::assign_next_enabled_camera_2d(StringName const&) godot/scene/main/viewport.cpp:1066)
[4] Camera2D::clear_current() godot/scene/2d/camera_2d.cpp:449)
[5] Camera2D::_notification(int) godot/scene/2d/camera_2d.cpp:?)
[6] Camera2D::_notificationv(int, bool) godot/scene/2d/camera_2d.h:37)
[7] Object::notification(int, bool) godot/core/object/object.cpp:790)
[8] Node::_propagate_exit_tree() godot/scene/main/node.cpp:299)
[9] Node::_propagate_exit_tree() godot/scene/main/node.cpp:289)
[10] Node::_set_tree(SceneTree*) godot/scene/main/node.cpp:2595)
[11] Node::remove_child(Node*) godot/scene/main/node.cpp:1203)
[12] void call_with_variant_args_helper<__UnexistingClass, Node*, 0ul>(__UnexistingClass*, void (__UnexistingClass::*)(Node*), Variant const**, Callable::CallError&, IndexSequence<0ul>) godot/./core/variant/binder_common.h:298)
[13] void call_with_variant_args_dv<__UnexistingClass, Node*>(__UnexistingClass*, void (__UnexistingClass::*)(Node*), Variant const**, int, Callable::CallError&, Vector<Variant> const&) godot/./core/variant/binder_common.h:441)
[14] MethodBindT<Node*>::call(Object*, Variant const**, int, Callable::CallError&) const godot/./core/object/method_bind.h:320)
[15] Object::callp(StringName const&, Variant const**, int, Callable::CallError&) godot/core/object/object.cpp:733)
[16] Variant::callp(StringName const&, Variant const**, int, Variant&, Callable::CallError&) godot/core/variant/variant_call.cpp:1161)
[17] GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Callable::CallError&, GDScriptFunction::CallState*) godot/modules/gdscript/gdscript_vm.cpp:1593)
[18] GDScriptInstance::callp(StringName const&, Variant const**, int, Callable::CallError&) godot/modules/gdscript/gdscript.cpp:1821)
[19] Object::callp(StringName const&, Variant const**, int, Callable::CallError&) godot/core/object/object.cpp:711)
[20] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const godot/core/variant/callable.cpp:62)
[21] _VariantCall::func_Callable_call(Variant*, Variant const**, int, Variant&, Callable::CallError&) godot/core/variant/variant_call.cpp:1012)
[22] godot/bin/godot.linuxbsd.editor.dev.x86_64.llvm.dev(+0x69c4128) [0x55a46fc0e128] godot/core/variant/variant_call.cpp:2026)
[23] GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Callable::CallError&, GDScriptFunction::CallState*) godot/modules/gdscript/gdscript_vm.cpp:2042)
[24] GDScriptInstance::callp(StringName const&, Variant const**, int, Callable::CallError&) godot/modules/gdscript/gdscript.cpp:1821)
[25] Object::callp(StringName const&, Variant const**, int, Callable::CallError&) godot/core/object/object.cpp:711)
[26] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const godot/core/variant/callable.cpp:62)
[27] CallableCustomBind::call(Variant const**, int, Variant&, Callable::CallError&) const godot/core/variant/callable_bind.cpp:141)
[28] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const godot/core/variant/callable.cpp:51)
[29] Object::emit_signalp(StringName const&, Variant const**, int) godot/core/object/object.cpp:1046)
[30] Error Object::emit_signal<Node*>(StringName const&, Node*) godot/./core/object/object.h:869)
[31] Area2D::_body_inout(int, RID const&, ObjectID, int, int) godot/scene/2d/area_2d.cpp:192)
[32] void call_with_variant_args_helper<Area2D, int, RID const&, ObjectID, int, int, 0ul, 1ul, 2ul, 3ul, 4ul>(Area2D*, void (Area2D::*)(int, RID const&, ObjectID, int, int), Variant const**, Callable::CallError&, IndexSequence<0ul, 1ul, 2ul, 3ul, 4ul>) godot/./core/variant/binder_common.h:298)
[33] void call_with_variant_args<Area2D, int, RID const&, ObjectID, int, int>(Area2D*, void (Area2D::*)(int, RID const&, ObjectID, int, int), Variant const**, int, Callable::CallError&) godot/./core/variant/binder_common.h:408)
[34] CallableCustomMethodPointer<Area2D, int, RID const&, ObjectID, int, int>::call(Variant const**, int, Variant&, Callable::CallError&) const godot/./core/object/callable_method_pointer.h:105)
[35] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const godot/core/variant/callable.cpp:51)
[36] GodotArea2D::call_queries() godot/servers/physics_2d/godot_area_2d.cpp:245)
[37] GodotSpace2D::call_queries() godot/servers/physics_2d/godot_space_2d.cpp:1126)
[38] GodotPhysicsServer2D::flush_queries() godot/servers/physics_2d/godot_physics_server_2d.cpp:1303)
[39] PhysicsServer2DWrapMT::flush_queries() godot/servers/physics_server_2d_wrap_mt.cpp:91)
[40] Main::iteration() godot/main/main.cpp:3093)
[41] OS_LinuxBSD::run() godot/platform/linuxbsd/os_linuxbsd.cpp:878)
[42] godot/bin/godot.linuxbsd.editor.dev.x86_64.llvm.dev(main+0x1fd) [0x55a46b24b3bd] godot/platform/linuxbsd/godot_linuxbsd.cpp:73)
[43] /lib/x86_64-linux-gnu/libc.so.6(+0x23510) [0x7f14e8e23510] (??:0)
[44] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x7f14e8e235c9] (??:0)
[45] godot/bin/godot.linuxbsd.editor.dev.x86_64.llvm.dev(_start+0x25) [0x55a46b24b0f5] (??:?)
-- END OF BACKTRACE --
================================================================
```

### Steps to reproduce

All I can say right now is that I am not getting the crash without any enabled Camera2D.

If the backtrace doesn't suffice, let me know and I'll spend more time trying to isolate reproduction steps.

### Minimal reproduction project

n/a
Control *c = over;
				Vector2 cpos = pos;
				while (c) {
					if (!gui.mouse_focus_mask.is_empty() || c->has_point(cpos)) {
						cursor_shape = c->get_cursor_shape(cpos);
					} else {
						cursor_shape = Control::CURSOR_ARROW;
					}
					cpos = c->get_transform().xform(cpos);
					if (cursor_shape != Control::CURSOR_ARROW) {
						break;
					}
					if (c->data.mouse_filter == Control::MOUSE_FILTER_STOP) {
						break;
					}
					if (c->is_set_as_top_level()) {
						break;
					}
					c = c->get_parent_control();
				}
			}
			ds_cursor_shape = (DisplayServer::CursorShape)cursor_shape;
			bool stopped = false;
			if (over && over->can_process()) {
				stopped = _gui_call_input(over, mm);
			}
			if (stopped) {
				set_input_as_handled();
			}
		}