### Godot version

4.0 rc6

### System information

win 11

### Issue description

UV tab

![image](https://user-images.githubusercontent.com/69117768/221976102-1b61dc27-d104-447c-9baf-bfe82c1e1790.png)

other tabs

![image](https://user-images.githubusercontent.com/69117768/221976126-09e32e2c-f63d-4728-ac56-e50d65b3ef1e.png)


### Steps to reproduce

make a polygon from a sprite

### Minimal reproduction project

n/A
Vector<int> points = polygons[i];
		Vector<Vector2> polypoints;
		for (int j = 0; j < points.size(); j++) {
			int next = (j + 1) % points.size();
			int idx = points[j];
			int idx_next = points[next];
			if (idx < 0 || idx >= uvs.size()) {
				continue;
			}
			polypoints.push_back(mtx.xform(uvs[idx]));
			if (idx_next < 0 || idx_next >= uvs.size()) {
				continue;
			}
			uv_edit_draw->draw_line(mtx.xform(uvs[idx]), mtx.xform(uvs[idx_next]), polygon_line_color, Math::round(EDSCALE));
		}
		if (points.size() >= 3) {
			uv_edit_draw->draw_polygon(polypoints, polygon_fill_color);
		}
	}
	for (int i = 0; i < uvs.size(); i++) {
		if (weight_r) {
			Vector2 draw_pos = mtx.xform(uvs[i]);
			float weight = weight_r[i];
			uv_edit_draw->draw_rect(Rect2(draw_pos - Vector2(2, 2) * EDSCALE, Vector2(5, 5) * EDSCALE), Color(weight, weight, weight, 1.0), Math::round(EDSCALE));
		} else {
			if (i < uv_draw_max) {
				uv_edit_draw->draw_texture(handle, mtx.xform(uvs[i]) - handle->get_size() * 0.5);
			} else {
				/
				uv_edit_draw->draw_texture(handle, mtx.xform(uvs[i]) - handle->get_size() * 0.5, Color(0.6, 0.8, 1));