### Godot version

v4.0.beta9.official [e780dc332]

### System information

macOS Ventura 13.0.1 (Intel), Radeon Pro 580 8 GB

### Issue description

When setting the size of a SubViewport (that is inside the corresponding SubViewportContainer) to zero, the editor crashes instantly.

**But it only happens when I set the size of the SubViewport by sliding the values.**

You can see what happens in this video:


https://user-images.githubusercontent.com/91340577/209363880-503d3dff-80e1-4e9e-bb57-d059fdbfeed0.mp4

At the end of the video you can see the crash message of macOS reading: _Godot quit unexpectedly._

If I write the number zero (or any negative) to the values of the SubViewport size, the crash doesn't happens.

### Steps to reproduce

1. Add a SubViewportContainer
2. Add a SubViewport as a child of the SubViewportContainer
3. Set the size of the SubViewport to zero **by sliding** the X or the Y value.

### Minimal reproduction project

1. Open the project
2. Go to the Control.tscn scene
3. Select the SubViewport node
4. Slide the X or Y values of the size to zero

[SubViewportCrash.zip](https://github.com/godotengine/godot/files/10296101/SubViewportCrash.zip)
if (!p_local_coords) {
		ev = _make_input_local(p_event);
	} else {
		ev = p_event;
	}
	
	if (Object::cast_to<InputEventKey>(*ev) != nullptr || Object::cast_to<InputEventShortcut>(*ev) != nullptr || Object::cast_to<InputEventJoypadButton>(*ev) != nullptr) {
		get_tree()->_call_input_pause(shortcut_input_group, SceneTree::CALL_INPUT_TYPE_SHORTCUT_INPUT, ev, this);
	}
	
	if (!is_input_handled()) {
		get_tree()->_call_input_pause(unhandled_input_group, SceneTree::CALL_INPUT_TYPE_UNHANDLED_INPUT, ev, this);
	}
	
	if (!is_input_handled() && (Object::cast_to<InputEventKey>(*ev) != nullptr)) {
		get_tree()->_call_input_pause(unhandled_key_input_group, SceneTree::CALL_INPUT_TYPE_UNHANDLED_KEY_INPUT, ev, this);
	}
	if (physics_object_picking && !is_input_handled()) {
		if (Input::get_singleton()->get_mouse_mode() != Input::MOUSE_MODE_CAPTURED &&
				(Object::cast_to<InputEventMouseButton>(*ev) ||
						Object::cast_to<InputEventMouseMotion>(*ev) ||
						Object::cast_to<InputEventScreenDrag>(*ev) ||
						Object::cast_to<InputEventScreenTouch>(*ev) ||
						Object::cast_to<InputEventKey>(*ev) 
						)) {
			physics_picking_events.push_back(ev);
		}
	}
}
void Viewport::set_physics_object_picking(bool p_enable) {