Fix 'mono' package typo
[mono.git] / bockbuild / mac-sdk / patches / gtk / 0069-menu-scrolling.patch
1 diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
2 index fc25098..de9a4b0 100644
3 --- a/gtk/gtkmenu.c
4 +++ b/gtk/gtkmenu.c
5 @@ -55,6 +55,7 @@
6  #define MENU_SCROLL_FAST_ZONE  8
7  #define MENU_SCROLL_TIMEOUT1  50
8  #define MENU_SCROLL_TIMEOUT2  20
9 +#define GTK_SCROLL_STEP_SMOOTH 2
10
11  #define ATTACH_INFO_KEY "gtk-menu-child-attach-info-key"
12  #define ATTACHED_MENUS "gtk-attached-menus"
13 @@ -3504,17 +3505,25 @@ gtk_menu_scroll (GtkWidget      *widget,
14                  GdkEventScroll *event)
15  {
16    GtkMenu *menu = GTK_MENU (widget);
17 +  gdouble dx, dy;
18
19 -  switch (event->direction)
20 +  if (gdk_event_get_scroll_deltas ((GdkEvent *) event, &dx, &dy))
21      {
22 -    case GDK_SCROLL_RIGHT:
23 -    case GDK_SCROLL_DOWN:
24 -      gtk_menu_scroll_by (menu, MENU_SCROLL_STEP2);
25 -      break;
26 -    case GDK_SCROLL_LEFT:
27 -    case GDK_SCROLL_UP:
28 -      gtk_menu_scroll_by (menu, - MENU_SCROLL_STEP2);
29 -      break;
30 +      gtk_menu_scroll_by (menu, GTK_SCROLL_STEP_SMOOTH * dy);
31 +    }
32 +  else
33 +    {
34 +      switch (event->direction)
35 +        {
36 +        case GDK_SCROLL_RIGHT:
37 +        case GDK_SCROLL_DOWN:
38 +          gtk_menu_scroll_by (menu, MENU_SCROLL_STEP2);
39 +          break;
40 +        case GDK_SCROLL_LEFT:
41 +        case GDK_SCROLL_UP:
42 +          gtk_menu_scroll_by (menu, - MENU_SCROLL_STEP2);
43 +          break;
44 +        }
45      }
46
47    return TRUE;