Only push the menu in if the position function said so

This commit is contained in:
Matthias Clasen 2011-12-23 04:44:17 +00:00
parent a553cb50ab
commit f1bfdda3fd

View File

@ -4796,10 +4796,9 @@ gtk_menu_position (GtkMenu *menu,
scroll_offset += monitor.y - y; scroll_offset += monitor.y - y;
y = monitor.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) if (GTK_MENU_SHELL (menu)->priv->active)
{ {
@ -4808,16 +4807,6 @@ gtk_menu_position (GtkMenu *menu,
priv->position_y = y; 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) if (scroll_offset > 0)
{ {
GtkBorder arrow_border; GtkBorder arrow_border;