From a5e0a53ef215da62940ba291325f526a0205a020 Mon Sep 17 00:00:00 2001
From: Gerardo Di Iorio <arete74@gmail.com>
Date: Wed, 21 Apr 2010 07:28:56 +0200
Subject: [PATCH 2/3] epdfview fix-mouse-wheel

---
 package/graphic/epdfview/02_fix-mouse-wheel.patch |   74 +++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)
 create mode 100644 package/graphic/epdfview/02_fix-mouse-wheel.patch

diff --git a/package/graphic/epdfview/02_fix-mouse-wheel.patch b/package/graphic/epdfview/02_fix-mouse-wheel.patch
new file mode 100644
index 0000000..69776de
--- /dev/null
+++ b/package/graphic/epdfview/02_fix-mouse-wheel.patch
@@ -0,0 +1,74 @@
+commit 17bb4a064b6c4d7ebd06416f1db2dab62ab72a43
+Author: jordi <jordi@cb4bfb15-1111-0410-82e2-95233c8f1c7e>
+Date:   Fri Mar 20 08:06:32 2009 +0000
+
+    I had to change the return valud of MainView's scroll-event handler, since Gtk+ expects a gboolean that tells whether to propagate the event.  Since we didn't return any value, depending on the compilation flags the mouse wheel didn't work at all.
+    
+    This closes #118.
+    
+    
+    git-svn-id: svn://svn.emma-soft.com/epdfview/trunk@329 cb4bfb15-1111-0410-82e2-95233c8f1c7e
+
+diff --git a/src/gtk/MainView.cxx b/src/gtk/MainView.cxx
+index b983bff..4a52cd3 100644
+--- a/src/gtk/MainView.cxx
++++ b/src/gtk/MainView.cxx
+@@ -77,7 +77,7 @@ static void main_window_zoom_in_cb (GtkWidget *, gpointer);
+ static void main_window_zoom_out_cb (GtkWidget *, gpointer);
+ static void main_window_zoom_width_cb (GtkToggleAction *, gpointer);
+ static void main_window_set_page_mode (GtkRadioAction *, GtkRadioAction *, gpointer);
+-static void main_window_page_scrolled_cb (GtkWidget *widget, GdkEventScroll *event, gpointer data);
++static gboolean main_window_page_scrolled_cb (GtkWidget *widget, GdkEventScroll *event, gpointer data);
+ 
+ #if defined (HAVE_CUPS)
+ static void main_window_print_cb (GtkWidget *, gpointer);
+@@ -1479,18 +1479,25 @@ main_window_set_page_mode (GtkRadioAction *action, GtkRadioAction *current, gpoi
+     pter->setPageMode (mode);
+ }
+ 
+-void 
++gboolean 
+ main_window_page_scrolled_cb (GtkWidget *widget, GdkEventScroll *event, gpointer data)
+ {
+     g_assert ( NULL != data && "The data parameter is NULL.");
+ 
+     MainPter *pter = (MainPter *)data;
+     // Only zoom when the CTRL-Button is down...
+-    if ( !(event->state & GDK_CONTROL_MASK) ) return;
+-    if ( event->direction == GDK_SCROLL_UP ) {
+-        pter->zoomInActivated ();
+-    } else if ( event->direction == GDK_SCROLL_DOWN ) {
+-        pter->zoomOutActivated ();
++    if ( GDK_CONTROL_MASK == (event->state & GDK_CONTROL_MASK) )
++    {
++        if ( event->direction == GDK_SCROLL_UP )
++        {
++            pter->zoomInActivated ();
++        }
++        else if ( event->direction == GDK_SCROLL_DOWN )
++        {
++            pter->zoomOutActivated ();
++        }
++        return TRUE;
+     }
++    return FALSE;
+ }
+ 
+diff --git a/src/gtk/PageView.cxx b/src/gtk/PageView.cxx
+index 0546561..adaa823 100644
+--- a/src/gtk/PageView.cxx
++++ b/src/gtk/PageView.cxx
+@@ -527,13 +527,6 @@ page_view_scrolled_cb (GtkWidget *widget, GdkEventScroll *event, gpointer data)
+ {
+     g_assert ( NULL != data && "The data parameter is NULL.");
+ 
+-    // don't scroll when the CRTL-Button is down, because then the page should
+-    // actually be zoomed and not scrolled. Zooming is handelt by the MainView
+-    // class.
+-    if ( event->state & GDK_CONTROL_MASK )
+-    {
+-        return FALSE;
+-    }
+     PagePter *pter = (PagePter *)data;
+     GtkAdjustment *adjustment = 
+         gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (widget));
-- 
1.6.5.5

