gtk+ r21049 - in trunk: . gtk
- From: bratsche svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk+ r21049 - in trunk: . gtk
- Date: Sat, 9 Aug 2008 04:20:14 +0000 (UTC)
Author: bratsche
Date: Sat Aug 9 04:20:14 2008
New Revision: 21049
URL: http://svn.gnome.org/viewvc/gtk+?rev=21049&view=rev
Log:
2008-08-08 Cody Russell <bratsche gnome org>
* gtk/gtkmenushell.c
* gtk/gtkmenu.c: In enter/leave notify events, check that the crossing
mode is not GTK_GRAB, GTK_UNGRAB, or STATE_CHANGED. Fixes regressions
in menus caused by bug #56070.
Modified:
trunk/ChangeLog
trunk/gtk/gtkmenu.c
trunk/gtk/gtkmenushell.c
Modified: trunk/gtk/gtkmenu.c
==============================================================================
--- trunk/gtk/gtkmenu.c (original)
+++ trunk/gtk/gtkmenu.c Sat Aug 9 04:20:14 2008
@@ -3623,6 +3623,11 @@
GtkWidget *menu_item;
gboolean touchscreen_mode;
+ if (event->mode == GDK_CROSSING_GTK_GRAB ||
+ event->mode == GDK_CROSSING_GTK_UNGRAB ||
+ event->mode == GDK_CROSSING_STATE_CHANGED)
+ return TRUE;
+
g_object_get (gtk_widget_get_settings (widget),
"gtk-touchscreen-mode", &touchscreen_mode,
NULL);
@@ -3694,6 +3699,11 @@
GtkMenuItem *menu_item;
GtkWidget *event_widget;
+ if (event->mode == GDK_CROSSING_GTK_GRAB ||
+ event->mode == GDK_CROSSING_GTK_UNGRAB ||
+ event->mode == GDK_CROSSING_STATE_CHANGED)
+ return TRUE;
+
menu = GTK_MENU (widget);
menu_shell = GTK_MENU_SHELL (widget);
Modified: trunk/gtk/gtkmenushell.c
==============================================================================
--- trunk/gtk/gtkmenushell.c (original)
+++ trunk/gtk/gtkmenushell.c Sat Aug 9 04:20:14 2008
@@ -802,6 +802,11 @@
{
GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget);
+ if (event->mode == GDK_CROSSING_GTK_GRAB ||
+ event->mode == GDK_CROSSING_GTK_UNGRAB ||
+ event->mode == GDK_CROSSING_STATE_CHANGED)
+ return TRUE;
+
if (menu_shell->active)
{
GtkWidget *menu_item;
@@ -867,6 +872,11 @@
gtk_menu_shell_leave_notify (GtkWidget *widget,
GdkEventCrossing *event)
{
+ if (event->mode == GDK_CROSSING_GTK_GRAB ||
+ event->mode == GDK_CROSSING_GTK_GRAB ||
+ event->mode == GDK_CROSSING_STATE_CHANGED)
+ return TRUE;
+
if (GTK_WIDGET_VISIBLE (widget))
{
GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]