]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/gtk+/gtk+-2.6.0/menu-deactivate.patch
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / gtk+ / gtk+-2.6.0 / menu-deactivate.patch
1 --- gtk+-2.4.4/gtk/gtkmenushell.c.old   Thu Aug 26 23:45:28 2004
2 +++ gtk+-2.4.4/gtk/gtkmenushell.c       Fri Aug 27 00:13:33 2004
3 @@ -37,7 +37,7 @@
4  #include "gtktearoffmenuitem.h"
5  #include "gtkwindow.h"
6  
7 -#define MENU_SHELL_TIMEOUT   500
8 +#define MENU_SHELL_TIMEOUT   2000
9  
10  enum {
11    DEACTIVATE,
12 @@ -156,6 +156,7 @@
13  static GtkContainerClass *parent_class = NULL;
14  static guint menu_shell_signals[LAST_SIGNAL] = { 0 };
15  
16 +static int last_crossing_time;
17  
18  GType
19  gtk_menu_shell_get_type (void)
20 @@ -418,6 +419,7 @@
21        gtk_grab_add (GTK_WIDGET (menu_shell));
22        menu_shell->have_grab = TRUE;
23        menu_shell->active = TRUE;
24 +      last_crossing_time = 0;
25      }
26  }
27  
28 @@ -545,6 +547,13 @@
29           menu_shell->activate_time = 0;
30           deactivate = FALSE;
31         }
32 +
33 +      if (last_crossing_time != 0
34 +         && ((event->time - last_crossing_time) < 500))
35 +       {
36 +         last_crossing_time = 0;
37 +         deactivate = FALSE;
38 +       }
39        
40        if (deactivate)
41         {
42 @@ -597,6 +606,8 @@
43    if (menu_shell->active)
44      {
45        menu_item = gtk_get_event_widget ((GdkEvent*) event);
46 +
47 +      last_crossing_time = event->time;
48  
49        if (!menu_item ||
50           (GTK_IS_MENU_ITEM (menu_item) &&