wayland: Apply size hints regardless of geometry

Previously we would bail out early in xdg_toplevel_role_commit() if no
geometry change was set, ignoring the possible min/max size hints
changes.

But setting a min/max size hint without changing the geometry is
perfectly valid, so we ought to apply the min/max changes regardless of
a geometry change.

https://bugzilla.gnome.org/show_bug.cgi?id=782213
This commit is contained in:
Olivier Fourdan 2017-05-10 08:59:53 +02:00
parent ca31a94e54
commit 40a3d67698

View File

@ -615,20 +615,18 @@ xdg_toplevel_role_commit (MetaWaylandSurfaceRole *surface_role,
if (!window) if (!window)
return; return;
if (!pending->has_new_geometry) if (pending->has_new_geometry)
{ {
if (pending->dx != 0 || pending->dx != 0) window_geometry = meta_wayland_xdg_surface_get_window_geometry (xdg_surface);
{ meta_window_wayland_move_resize (window,
g_warning ("XXX: Attach-initiated move without a new geometry. This is unimplemented right now."); &xdg_surface_priv->acked_configure_serial,
} window_geometry,
return; pending->dx, pending->dy);
}
else if (pending->dx != 0 || pending->dx != 0)
{
g_warning ("XXX: Attach-initiated move without a new geometry. This is unimplemented right now.");
} }
window_geometry = meta_wayland_xdg_surface_get_window_geometry (xdg_surface);
meta_window_wayland_move_resize (window,
&xdg_surface_priv->acked_configure_serial,
window_geometry,
pending->dx, pending->dy);
/* When we get to this point, we ought to have valid size hints */ /* When we get to this point, we ought to have valid size hints */
if (pending->has_new_min_size || pending->has_new_max_size) if (pending->has_new_min_size || pending->has_new_max_size)