diff options
Diffstat (limited to 'fixes__too-large-menu-covers-bar.disabled-patch')
-rw-r--r-- | fixes__too-large-menu-covers-bar.disabled-patch | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/fixes__too-large-menu-covers-bar.disabled-patch b/fixes__too-large-menu-covers-bar.disabled-patch new file mode 100644 index 000000000000..cede3d037640 --- /dev/null +++ b/fixes__too-large-menu-covers-bar.disabled-patch @@ -0,0 +1,21 @@ +diff --color -U 5 -r -Z -B gtk/gtkmenu.c gtk/gtkmenu.c +--- src/gtk+-3.24.12/gtk/gtkmenu.c 2018-01-31 18:37:18.000000000 +0100 ++++ src/gtk+-3.24.12/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, |