Only push the menu in if the position function said so
This commit is contained in:
parent
a553cb50ab
commit
f1bfdda3fd
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user