diff --git a/ChangeLog b/ChangeLog index ca9df5b1a1..1f3150bb3c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-08-29 Matthias Clasen + + * gtk/gtkmenu.c (gtk_menu_grab_notify): Only cancel if the menu + was active. (#314298, Christian Persch, analysis by Mark McLoughlin) + 2005-08-29 Matthias Clasen * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index ca9df5b1a1..1f3150bb3c 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2005-08-29 Matthias Clasen + + * gtk/gtkmenu.c (gtk_menu_grab_notify): Only cancel if the menu + was active. (#314298, Christian Persch, analysis by Mark McLoughlin) + 2005-08-29 Matthias Clasen * gtk/gtkiconcache.c (_gtk_icon_cache_get_icon): Remove an diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index de23fe7f66..5896e871fd 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -4419,7 +4419,7 @@ gtk_menu_grab_notify (GtkWidget *widget, if (!was_grabbed) { - if (!GTK_IS_MENU_SHELL (grab)) + if (GTK_MENU_SHELL (widget)->active && !GTK_IS_MENU_SHELL (grab)) gtk_menu_shell_cancel (GTK_MENU_SHELL (widget)); } }