window-wayland: Always update the last_sent size

The last_sent size is effectively what size we should send in configure
requests where the size hasn't changed. Thus, if an app commits a new
size, we need to make sure we respect it and don't reconfigure it with
a size it wasn't expecting when the state changes.

This fixes apps being sent a configure event with 0, 0 on startup,
which was confusing Clutter into displaying a 0x0 viewport.
This commit is contained in:
Jasper St. Pierre 2014-09-16 19:11:56 -06:00
parent ac6ec168da
commit 43b3573c51

View File

@ -191,9 +191,6 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
if (constrained_rect.width != window->rect.width ||
constrained_rect.height != window->rect.height)
{
wl_window->last_sent_width = constrained_rect.width;
wl_window->last_sent_height = constrained_rect.height;
meta_wayland_surface_configure_notify (window->surface,
constrained_rect.width,
constrained_rect.height,
@ -210,6 +207,13 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
}
}
if (wl_window->last_sent_width != constrained_rect.width ||
wl_window->last_sent_height != constrained_rect.height)
{
wl_window->last_sent_width = constrained_rect.width;
wl_window->last_sent_height = constrained_rect.height;
}
if (can_move_now)
{
int new_x = constrained_rect.x;