### Godot version

Master (0ddd9c3e8f9088fa139e25b2903289d727073e12)

### System information

PopOS 22.04 - Intel integrated graphics - all backends

### Issue description

When there are popup windows in the editor, I cannot click on the "Confirm"/"Cancel" type buttons at the button. 

I have the issue both in the project manager (importing projects I can click on files etc. but cannot click "open") and when running the editor (cannot click "Save&Quit" etc.)

Sometimes the editor correctly highlights the buttons and I can use the arrow keys to navigate the buttons and "enter" to confirm my selection.

_I can navigate the editor closing dialogue with tab/arrow keys_
![Screenshot from 2023-01-16 14-24-06](https://user-images.githubusercontent.com/16521339/212774269-d784ea5e-5921-4460-9124-48978939c8e7.png)

_I can't navigate the project import dialogue with tab/arrow keys_
![Screenshot from 2023-01-16 14-29-00](https://user-images.githubusercontent.com/16521339/212774683-0a80795a-eed4-4e65-b2ca-3562c25d71fd.png)


### Steps to reproduce

Run the editor

### Minimal reproduction project

Reproducible in the project manager
atlas_rect.position.y = atlas_texture->get_region().position.y;
			texture_size.width = atlas_texture->get_region().size.x;
			texture_size.height = atlas_texture->get_region().size.y;
		} else if (image.is_valid()) {
			texture_size.width = texture->get_width();
			texture_size.height = texture->get_height();
		}
		ERR_FAIL_COND(!texture.is_valid());
		ERR_FAIL_COND(p_hotspot.x < 0 || p_hotspot.y < 0);
		ERR_FAIL_COND(texture_size.width > 256 || texture_size.height > 256);
		ERR_FAIL_COND(p_hotspot.x > texture_size.width || p_hotspot.y > texture_size.height);
		image = texture->get_image();
		ERR_FAIL_COND(!image.is_valid());
		
		XcursorImage *cursor_image = XcursorImageCreate(texture_size.width, texture_size.height);
		XcursorUInt image_size = texture_size.width * texture_size.height;
		XcursorDim size = sizeof(XcursorPixel) * image_size;
		cursor_image->version = 1;
		cursor_image->size = size;
		cursor_image->xhot = p_hotspot.x;
		cursor_image->yhot = p_hotspot.y;
		
		cursor_image->pixels = (XcursorPixel *)memalloc(size);
		for (XcursorPixel index = 0; index < image_size; index++) {
			int row_index = floor(index / texture_size.width) + atlas_rect.position.y;
			int column_index = (index % int(texture_size.width)) + atlas_rect.position.x;
			if (atlas_texture.is_valid()) {
				column_index = MIN(column_index, atlas_rect.size.width - 1);
				row_index = MIN(row_index, atlas_rect.size.height - 1);
			}