diff options
Diffstat (limited to 'gtk/gtkoptionmenu.c')
-rw-r--r-- | gtk/gtkoptionmenu.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/gtk/gtkoptionmenu.c b/gtk/gtkoptionmenu.c index c4d4009e07..c3ea92ada6 100644 --- a/gtk/gtkoptionmenu.c +++ b/gtk/gtkoptionmenu.c @@ -250,12 +250,17 @@ gtk_option_menu_get_history (GtkOptionMenu *option_menu) GtkWidget *active_widget; g_return_val_if_fail (GTK_IS_OPTION_MENU (option_menu), -1); - - active_widget = gtk_menu_get_active (GTK_MENU (option_menu->menu)); - if (active_widget) - return g_list_index (GTK_MENU_SHELL (option_menu->menu)->children, + if (option_menu->menu) + { + active_widget = gtk_menu_get_active (GTK_MENU (option_menu->menu)); + + if (active_widget) + return g_list_index (GTK_MENU_SHELL (option_menu->menu)->children, active_widget); + else + return -1; + } else return -1; } |