diff options
author | John Voltz <john.voltz@gmail.com> | 2008-03-06 18:15:42 +0000 |
---|---|---|
committer | John Voltz <john.voltz@gmail.com> | 2008-03-06 18:15:42 +0000 |
commit | 5b5cf3bf3630352e8c24f9185d7795ec0f503cb4 (patch) | |
tree | df423d8c652725990197e44b8266b6f0b10576f6 /package/libgtk2/old_patches/menu-deactivate.patch | |
parent | 84c82f9fd5bb21ae9df4774adce2a7660c145003 (diff) |
updated libgtk2
Diffstat (limited to 'package/libgtk2/old_patches/menu-deactivate.patch')
-rw-r--r-- | package/libgtk2/old_patches/menu-deactivate.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/package/libgtk2/old_patches/menu-deactivate.patch b/package/libgtk2/old_patches/menu-deactivate.patch new file mode 100644 index 000000000..cfb8849e9 --- /dev/null +++ b/package/libgtk2/old_patches/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))) |