[mutter/wip/wayland-fixes: 2/2] wayland: Fix the placement of popup windows
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/wayland-fixes: 2/2] wayland: Fix the placement of popup windows
- Date: Wed, 17 Sep 2014 15:38:03 +0000 (UTC)
commit a27e844f750952d7d960e68d35b429b71e3ad2db
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Wed Sep 17 09:36:31 2014 -0600
wayland: Fix the placement of popup windows
The fix in d61dde1 regressed the position of popup windows, since the
size was 0x0 when we wanted to do a sole move. Only fizzle out in the
path where we actually *do* resize.
src/wayland/window-wayland.c | 23 +++++++++++------------
1 files changed, 11 insertions(+), 12 deletions(-)
---
diff --git a/src/wayland/window-wayland.c b/src/wayland/window-wayland.c
index 491faf6..2673db3 100644
--- a/src/wayland/window-wayland.c
+++ b/src/wayland/window-wayland.c
@@ -188,21 +188,20 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
}
else
{
- /* If we get a 0x0 size, this means that we're trying to resize
- * a surface that doesn't have any buffer attached. This can happen
- * when a client requests an xdg surface before bringing it up.
- * The constrained_rect will be 1x1 because of how our constraints
- * code works, and sending that to the window would cause it to
- * redraw itself, so just don't send anything. Pretend like this
- * move_resize never happened.
- */
- if (unconstrained_rect.width == 0 &&
- unconstrained_rect.height == 0)
- return;
-
if (constrained_rect.width != window->rect.width ||
constrained_rect.height != window->rect.height)
{
+ /* If we get a 0x0 size, this means that we're trying to resize
+ * a surface that doesn't have any buffer attached. This can happen
+ * when a client requests an xdg surface before bringing it up.
+ * The constrained_rect will be 1x1 because of how our constraints
+ * code works, and sending that to the window would cause it to
+ * redraw itself, so just don't send anything.
+ */
+ if (unconstrained_rect.width == 0 &&
+ unconstrained_rect.height == 0)
+ return;
+
meta_wayland_surface_configure_notify (window->surface,
constrained_rect.width,
constrained_rect.height,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]