]> Pileus Git - ~andy/gtk/commitdiff
Only push the menu in if the position function said so
authorMatthias Clasen <mclasen@redhat.com>
Fri, 23 Dec 2011 04:44:17 +0000 (04:44 +0000)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 23 Dec 2011 05:36:20 +0000 (00:36 -0500)
gtk/gtkmenu.c

index 1f0fb37b21cba3fba374658e9203e5a655613761..652aa9a1a5cd1f7bf4b7c686b3585575bacba4f3 100644 (file)
@@ -4796,10 +4796,9 @@ gtk_menu_position (GtkMenu  *menu,
           scroll_offset += monitor.y - y;
           y = monitor.y;
         }
-    }
 
-  /* FIXME: should this be done in the various position_funcs ? */
-  x = CLAMP (x, monitor.x, MAX (monitor.x, monitor.x + monitor.width - requisition.width));
+      x = CLAMP (x, monitor.x, MAX (monitor.x, monitor.x + monitor.width - requisition.width));
+    }
 
   if (GTK_MENU_SHELL (menu)->priv->active)
     {
@@ -4808,16 +4807,6 @@ gtk_menu_position (GtkMenu  *menu,
       priv->position_y = y;
     }
 
-  if (y + requisition.height > monitor.y + monitor.height)
-    requisition.height = (monitor.y + monitor.height) - y;
-
-  if (y < monitor.y)
-    {
-      scroll_offset += monitor.y - y;
-      requisition.height -= monitor.y - y;
-      y = monitor.y;
-    }
-
   if (scroll_offset > 0)
     {
       GtkBorder arrow_border;