### 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
Vector2 center;
					Vector<Vector2> uv_new = points_prev;
					for (int i = 0; i < uv_new.size(); i++) {
						center += points_prev[i];
					}
					center /= uv_new.size();
					real_t angle = (uv_drag_from - mtx.xform(center)).normalized().angle_to((uv_drag_to - mtx.xform(center)).normalized());
					for (int i = 0; i < uv_new.size(); i++) {
						Vector2 rel = points_prev[i] - center;
						rel = rel.rotated(angle);
						uv_new.set(i, center + rel);
					}
					if (uv_edit_mode[0]->is_pressed()) { /
						node->set_uv(uv_new);
					} else if (uv_edit_mode[1]->is_pressed()) { /
						node->set_polygon(uv_new);
					}
				} break;
				case UV_MODE_SCALE: {
					Vector2 center;
					Vector<Vector2> uv_new = points_prev;
					for (int i = 0; i < uv_new.size(); i++) {
						center += points_prev[i];
					}
					center /= uv_new.size();
					real_t from_dist = uv_drag_from.distance_to(mtx.xform(center));
					real_t to_dist = uv_drag_to.distance_to(mtx.xform(center));
					if (from_dist < 2) {
						break;
					}