[gtk+/gtk-3-22] wayland: do not clamp anchor values



commit 7ec16c5c539fb31f1bda1bbd3d72be1b549f5aad
Author: Olivier Fourdan <ofourdan redhat com>
Date:   Wed Feb 1 09:41:07 2017 +0100

    wayland: do not clamp anchor values
    
    Clamping the anchor values as introduced in commit 9a5ffcd to fix bug
    777176 breaks menu positioning.
    
    By keeping the anchors rectangle size greater than zero, we end up
    deducting some positive value from the original position, so there is no
    need to clamp() actually, keeping the values positive is enough and
    avoids the issue with menu positioning on the menubar.
    
    An additional benefit is to make the code a lot simpler.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=778009

 gdk/wayland/gdkwindow-wayland.c |   18 ++----------------
 1 files changed, 2 insertions(+), 16 deletions(-)
---
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index 755b813..5f01d39 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -2676,25 +2676,11 @@ sanitize_anchor_rect (GdkWindow    *window,
 {
   gint original_width = rect->width;
   gint original_height = rect->height;
-  GdkWindow *parent = get_popup_parent (window);
 
   rect->width  = MAX (1, rect->width);
   rect->height = MAX (1, rect->height);
-  rect->x -= rect->width - original_width;
-  rect->y -= rect->height - original_height;
-
-  /* Make sure the anchor rectangle does not extend outside the window
-   * geometry of the parent surface.
-   */
-  if (parent)
-    {
-      GdkRectangle geometry;
-
-      /* The rectangle is relative to the parent window geometry */
-      gdk_wayland_window_get_window_geometry (parent, &geometry);
-      rect->x = CLAMP (rect->x, 0, geometry.width);
-      rect->y = CLAMP (rect->y, 0, geometry.height);
-    }
+  rect->x = MAX (rect->x + original_width - rect->width, 0);
+  rect->y = MAX (rect->y + original_height - rect->height, 0);
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]