diff options
author | Eric Andersen <andersen@codepoet.org> | 2007-01-11 08:42:34 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2007-01-11 08:42:34 +0000 |
commit | 8b9d738e496c07704e7f4f2078cce5e777b62aec (patch) | |
tree | 05d943daa7ef1f13f2673f579cdef8ce8fd83485 /package/libgtk2/menu-deactivate.patch | |
parent | 810184bb0dd445c160ab6d94338ad2165e2d529a (diff) |
add Gtk+ version 2
Diffstat (limited to 'package/libgtk2/menu-deactivate.patch')
-rw-r--r-- | package/libgtk2/menu-deactivate.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/package/libgtk2/menu-deactivate.patch b/package/libgtk2/menu-deactivate.patch new file mode 100644 index 000000000..cfb8849e9 --- /dev/null +++ b/package/libgtk2/menu-deactivate.patch @@ -0,0 +1,51 @@ +--- gtk+-2.10.0/gtk/gtkmenushell.c.orig 2006-07-05 17:17:34.000000000 +0200 ++++ gtk+-2.10.0/gtk/gtkmenushell.c 2006-07-05 17:19:01.000000000 +0200 +@@ -42,7 +42,7 @@ + #include "gtkintl.h" + #include "gtkalias.h" + +-#define MENU_SHELL_TIMEOUT 500 ++#define MENU_SHELL_TIMEOUT 2000 + + #define PACK_DIRECTION(m) \ + (GTK_IS_MENU_BAR (m) \ +@@ -203,6 +203,8 @@ + + G_DEFINE_TYPE (GtkMenuShell, gtk_menu_shell, GTK_TYPE_CONTAINER) + ++static int last_crossing_time; ++ + static void + gtk_menu_shell_class_init (GtkMenuShellClass *klass) + { +@@ -517,6 +519,7 @@ + gtk_grab_add (GTK_WIDGET (menu_shell)); + menu_shell->have_grab = TRUE; + menu_shell->active = TRUE; ++ last_crossing_time = 0; + } + } + +@@ -669,6 +672,13 @@ + menu_shell->activate_time = 0; + deactivate = FALSE; + } ++ ++ if (last_crossing_time != 0 ++ && ((event->time - last_crossing_time) < 500)) ++ { ++ last_crossing_time = 0; ++ deactivate = FALSE; ++ } + + if (deactivate) + { +@@ -716,6 +726,8 @@ + { + menu_item = gtk_get_event_widget ((GdkEvent*) event); + ++ last_crossing_time = event->time; ++ + if (!menu_item || + (GTK_IS_MENU_ITEM (menu_item) && + !_gtk_menu_item_is_selectable (menu_item))) |