[gtk+] gtkmenu: ignore left/right scroll events



commit 126156e820789557ae05af6a6b76c40e3c1c2325
Author: Olivier Fourdan <ofourdan redhat com>
Date:   Mon May 9 08:56:56 2016 +0200

    gtkmenu: ignore left/right scroll events
    
    Menus are placed vertically by definition, it does not make much sense
    to support horizontal axis for scrolling.
    
    Use GDK_EVENT_STOP/GDK_EVENT_PROPAGATE instead of TRUE/FALSE and add a
    default case to return GDK_EVENT_PROPAGATE for unhandled events.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=765939

 gtk/gtkmenu.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
index ee24b72..78275d2 100644
--- a/gtk/gtkmenu.c
+++ b/gtk/gtkmenu.c
@@ -3557,24 +3557,25 @@ gtk_menu_scroll (GtkWidget      *widget,
   GtkMenu *menu = GTK_MENU (widget);
 
   if (_gdk_event_get_pointer_emulated ((GdkEvent *) event))
-    return FALSE;
+    return GDK_EVENT_PROPAGATE;
 
   switch (event->direction)
     {
-    case GDK_SCROLL_RIGHT:
     case GDK_SCROLL_DOWN:
       gtk_menu_scroll_by (menu, MENU_SCROLL_STEP2);
       break;
-    case GDK_SCROLL_LEFT:
     case GDK_SCROLL_UP:
       gtk_menu_scroll_by (menu, - MENU_SCROLL_STEP2);
       break;
     case GDK_SCROLL_SMOOTH:
       gtk_menu_scroll_by (menu, event->delta_y * MENU_SCROLL_STEP2);
       break;
+    default:
+      return GDK_EVENT_PROPAGATE;
+      break;
     }
 
-  return TRUE;
+  return GDK_EVENT_STOP;
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]