blob: 6bdbc7de42c4b2debd7cd7788b0c95fa7d54f21a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
diff --color -U 5 -r -Z -B gtk/gtkmenu.c gtk/gtkmenu.c
--- src/gtk/gtkmenu.c 2018-01-31 18:37:18.000000000 +0100
+++ src/gtk/gtkmenu.c 2018-07-16 23:43:51.061469725 +0200
@@ -1393,10 +1393,17 @@
const GdkRectangle *final_rect,
gboolean flipped_x,
gboolean flipped_y,
GtkMenu *menu)
{
+ if (GTK_IS_MENU_ITEM (menu->priv->widget) && GTK_IS_MENU_BAR (gtk_widget_get_parent (menu->priv->widget))
+ && flipped_rect != NULL && final_rect != NULL && !flipped_y && flipped_rect->y > final_rect->y)
+ {
+ gint new_height = final_rect->height - (flipped_rect->y - final_rect->y);
+ if (new_height > 200)
+ gdk_window_move_resize (window, final_rect->x, flipped_rect->y, final_rect->width, new_height);
+ }
g_signal_emit (menu,
menu_signals[POPPED_UP],
0,
flipped_rect,
final_rect,
|