diff options
Diffstat (limited to 'x11-wm/mutter/files/3.22.4-wayland-size-hints.patch')
-rw-r--r-- | x11-wm/mutter/files/3.22.4-wayland-size-hints.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/x11-wm/mutter/files/3.22.4-wayland-size-hints.patch b/x11-wm/mutter/files/3.22.4-wayland-size-hints.patch new file mode 100644 index 000000000000..03b2b22fe655 --- /dev/null +++ b/x11-wm/mutter/files/3.22.4-wayland-size-hints.patch @@ -0,0 +1,56 @@ +From 40a3d67698dc992d084886e01b07a78d438bbf8e Mon Sep 17 00:00:00 2001 +From: Olivier Fourdan <ofourdan@redhat.com> +Date: Wed, 10 May 2017 08:59:53 +0200 +Subject: [PATCH 4/5] 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 +--- + src/wayland/meta-wayland-xdg-shell.c | 22 ++++++++++------------ + 1 file changed, 10 insertions(+), 12 deletions(-) + +diff --git a/src/wayland/meta-wayland-xdg-shell.c b/src/wayland/meta-wayland-xdg-shell.c +index 87a8382..bd576f6 100644 +--- a/src/wayland/meta-wayland-xdg-shell.c ++++ b/src/wayland/meta-wayland-xdg-shell.c +@@ -615,20 +615,18 @@ xdg_toplevel_role_commit (MetaWaylandSurfaceRole *surface_role, + if (!window) + return; + +- if (!pending->has_new_geometry) ++ if (pending->has_new_geometry) + { +- if (pending->dx != 0 || pending->dx != 0) +- { +- g_warning ("XXX: Attach-initiated move without a new geometry. This is unimplemented right now."); +- } +- return; ++ 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); ++ } ++ 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 */ + if (pending->has_new_min_size || pending->has_new_max_size) +-- +2.10.1 + |