### Godot version

Godot Engine v4.0.stable.official.92bee43ad

### System information

Windows 10

### Issue description

The documentation states that passing ```null``` into the image parameter of ```set_custom_mouse_cursor``` will change it back to the system cursor, however I find that it removes the cursor's image entirely, rather than setting it to the system's cursor.


### Steps to reproduce

```var isimage = false
var theimage = load("res://final.png")

func _on_my_button_pressed():
    if isimage == false:
        Input.set_custom_mouse_cursor(theimage, Input.CURSOR_ARROW, Vector2(16,16))
        isimage = true
        
    else:
        Input.set_custom_mouse_cursor(null)
        isimage = false```

When the button is pressed, the cursor is meant to change to the new cursor. When it has been pressed a second time, it changes back to the default cursor. However, upon pressing it a second time, it simply disappears. The cursor becomes visible again when the cursor exits and re-enters the window.

### Minimal reproduction project

[null mouse.zip](https://github.com/godotengine/godot/files/10901969/null.mouse.zip)

ERR_FAIL_INDEX_V(p_screen, get_screen_count(), Ref<Image>());
	switch (p_screen) {
		case SCREEN_PRIMARY: {
			p_screen = get_primary_screen();
		} break;
		case SCREEN_OF_MAIN_WINDOW: {
			p_screen = window_get_current_screen(MAIN_WINDOW_ID);
		} break;
		default:
			break;
	}
	ERR_FAIL_COND_V(p_screen < 0, Ref<Image>());
	XImage *image = nullptr;
	int event_base, error_base;
	if (XineramaQueryExtension(x11_display, &event_base, &error_base)) {
		int xin_count;
		XineramaScreenInfo *xsi = XineramaQueryScreens(x11_display, &xin_count);
		if (p_screen < xin_count) {
			int x_count = XScreenCount(x11_display);
			for (int i = 0; i < x_count; i++) {
				Window root = XRootWindow(x11_display, i);
				XWindowAttributes root_attrs;
				XGetWindowAttributes(x11_display, root, &root_attrs);
				if ((xsi[p_screen].x_org >= root_attrs.x) && (xsi[p_screen].x_org <= root_attrs.x + root_attrs.width) && (xsi[p_screen].y_org >= root_attrs.y) && (xsi[p_screen].y_org <= root_attrs.y + root_attrs.height)) {
					image = XGetImage(x11_display, root, xsi[p_screen].x_org, xsi[p_screen].y_org, xsi[p_screen].width, xsi[p_screen].height, AllPlanes, ZPixmap);
					break;
				}