summaryrefslogtreecommitdiff
path: root/meta/packages/gtk+/gtk+-2.8.20/menu-deactivate.patch
diff options
context:
space:
mode:
authorRoss Burton <ross@openedhand.com>2006-11-02 10:07:21 +0000
committerRoss Burton <ross@openedhand.com>2006-11-02 10:07:21 +0000
commitbdc1ab309aaca7900af46569f1727dc4f7a22b8f (patch)
tree7a17ea0c0e9093f4d02b8232750c0558b8a72e50 /meta/packages/gtk+/gtk+-2.8.20/menu-deactivate.patch
parent7e31da38f0795cca6f122fdba4bc5c317fd7c369 (diff)
downloadopenembedded-core-bdc1ab309aaca7900af46569f1727dc4f7a22b8f.tar.gz
openembedded-core-bdc1ab309aaca7900af46569f1727dc4f7a22b8f.tar.bz2
openembedded-core-bdc1ab309aaca7900af46569f1727dc4f7a22b8f.tar.xz
openembedded-core-bdc1ab309aaca7900af46569f1727dc4f7a22b8f.zip
Upgrade GTK+ 2.8.x to 2.8.20
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@849 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/gtk+/gtk+-2.8.20/menu-deactivate.patch')
-rw-r--r--meta/packages/gtk+/gtk+-2.8.20/menu-deactivate.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/meta/packages/gtk+/gtk+-2.8.20/menu-deactivate.patch b/meta/packages/gtk+/gtk+-2.8.20/menu-deactivate.patch
new file mode 100644
index 000000000..29e665fbf
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.20/menu-deactivate.patch
@@ -0,0 +1,50 @@
+--- gtk+-2.4.4/gtk/gtkmenushell.c.old Thu Aug 26 23:45:28 2004
++++ gtk+-2.4.4/gtk/gtkmenushell.c Fri Aug 27 00:13:33 2004
+@@ -37,7 +37,7 @@
+ #include "gtktearoffmenuitem.h"
+ #include "gtkwindow.h"
+
+-#define MENU_SHELL_TIMEOUT 500
++#define MENU_SHELL_TIMEOUT 2000
+
+ enum {
+ DEACTIVATE,
+@@ -156,6 +156,7 @@
+ static GtkContainerClass *parent_class = NULL;
+ static guint menu_shell_signals[LAST_SIGNAL] = { 0 };
+
++static int last_crossing_time;
+
+ GType
+ gtk_menu_shell_get_type (void)
+@@ -418,6 +419,7 @@
+ gtk_grab_add (GTK_WIDGET (menu_shell));
+ menu_shell->have_grab = TRUE;
+ menu_shell->active = TRUE;
++ last_crossing_time = 0;
+ }
+ }
+
+@@ -545,6 +547,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)
+ {
+@@ -597,6 +606,8 @@
+ if (menu_shell->active)
+ {
+ menu_item = gtk_get_event_widget ((GdkEvent*) event);
++
++ last_crossing_time = event->time;
+
+ if (!menu_item ||
+ (GTK_IS_MENU_ITEM (menu_item) &&