diff options
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtkmenuitem.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index 2735a5c141..5e30156e9f 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -614,9 +614,16 @@ gtk_menu_item_paint (GtkWidget *widget, if (menu_item->submenu && menu_item->show_submenu_indicator) { + GtkRequisition child_requisition; gint arrow_x, arrow_y; - gint arrow_size = height - 2 * widget->style->ythickness; - gint arrow_extent = arrow_size / 2; + gint arrow_size; + gint arrow_extent; + + gtk_widget_get_child_requisition (GTK_BIN (menu_item)->child, + &child_requisition); + + arrow_size = child_requisition.height - 2 * widget->style->ythickness; + arrow_extent = arrow_size * 0.6; shadow_type = GTK_SHADOW_OUT; if (state_type == GTK_STATE_PRELIGHT) |