Merge pull request #113656 from deralmas/gray-goo-scenario

Wayland: Work around window scale ambiguity
This commit is contained in:
Rémi Verschelde
2025-12-16 11:26:42 +01:00
7 changed files with 37 additions and 2 deletions

View File

@@ -702,6 +702,15 @@ void Window::_clear_window() {
bool had_focus = has_focus();
if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_SELF_FITTING_WINDOWS)) {
float win_scale = DisplayServer::get_singleton()->window_get_scale(window_id);
Size2i adjusted_size = Size2i(size.width / win_scale, size.height / win_scale);
Size2i adjusted_pos = Size2i(position.x / win_scale, position.y / win_scale);
_rect_changed_callback(Rect2i(adjusted_pos, adjusted_size));
}
if (transient_parent && transient_parent->window_id != DisplayServer::INVALID_WINDOW_ID) {
DisplayServer::get_singleton()->window_set_transient(window_id, DisplayServer::INVALID_WINDOW_ID);
}