Make sure menu_shell->button gets reset to 0 when we bail out early here

2007-09-11  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkmenu.c (gtk_menu_button_release): Make sure
	menu_shell->button gets reset to 0 when we bail out early here
	instead of chaining up, so it is in a consistent state for the
	next press/release in GtkMenuShell. Fixes bug #449371.


svn path=/trunk/; revision=18795
This commit is contained in:
Michael Natterer 2007-09-11 17:38:12 +00:00 committed by Michael Natterer
parent 942f324617
commit 7b6c536cc7
2 changed files with 18 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2007-09-11 Michael Natterer <mitch@imendio.com>
* gtk/gtkmenu.c (gtk_menu_button_release): Make sure
menu_shell->button gets reset to 0 when we bail out early here
instead of chaining up, so it is in a consistent state for the
next press/release in GtkMenuShell. Fixes bug #449371.
2007-09-10 Kjartan Maraas <kmaraas@gnome.org> 2007-09-10 Kjartan Maraas <kmaraas@gnome.org>
* gtk/gtkentry.c: Fix some typos. Closes bug #475400. * gtk/gtkentry.c: Fix some typos. Closes bug #475400.

View File

@ -2710,7 +2710,17 @@ gtk_menu_button_release (GtkWidget *widget,
*/ */
if (GTK_IS_MENU_SHELL (gtk_get_event_widget ((GdkEvent *) event)) && if (GTK_IS_MENU_SHELL (gtk_get_event_widget ((GdkEvent *) event)) &&
pointer_in_menu_window (widget, event->x_root, event->y_root)) pointer_in_menu_window (widget, event->x_root, event->y_root))
return TRUE; {
/* Ugly: make sure menu_shell->button gets reset to 0 when we
* bail out early here so it is in a consistent state for the
* next button_press/button_release in GtkMenuShell.
* See bug #449371.
*/
if (GTK_MENU_SHELL (widget)->active)
GTK_MENU_SHELL (widget)->button = 0;
return TRUE;
}
return GTK_WIDGET_CLASS (gtk_menu_parent_class)->button_release_event (widget, event); return GTK_WIDGET_CLASS (gtk_menu_parent_class)->button_release_event (widget, event);
} }