From e8fc09064afd8b1d50ff401140c412db558a2d62 Mon Sep 17 00:00:00 2001 From: Olivier Fourdan Date: Tue, 11 Oct 2016 15:20:30 +0200 Subject: [PATCH] wayland: apply size hints after placing the window Otherwise the window will be shown initially in the wrong position then moved quickly as soon as it's made visible, which is confusing. https://bugzilla.gnome.org/show_bug.cgi?id=772729 --- src/wayland/meta-wayland-xdg-shell.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/wayland/meta-wayland-xdg-shell.c b/src/wayland/meta-wayland-xdg-shell.c index 005e753d0..450acda7d 100644 --- a/src/wayland/meta-wayland-xdg-shell.c +++ b/src/wayland/meta-wayland-xdg-shell.c @@ -622,6 +622,12 @@ xdg_toplevel_role_commit (MetaWaylandSurfaceRole *surface_role, 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); + /* When we get to this point, we ought to have valid size hints */ if (pending->has_new_min_size || pending->has_new_max_size) { @@ -644,11 +650,6 @@ xdg_toplevel_role_commit (MetaWaylandSurfaceRole *surface_role, } } - 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); xdg_surface_priv->acked_configure_serial.set = FALSE; }