Commit cf020b77 authored by Garth Corral's avatar Garth Corral
Browse files
  
    This was causing scrollwin events to be handled in the wxScrolled
    default handler even if we'd already handled it, resulting in scrolling
    in both the vertical and horizontal direction for a single event.
parent 6c137ac7
Loading
Loading
Loading
Loading
+50 −0
Original line number Diff line number Diff line
=== modified file 'src/generic/scrlwing.cpp'
--- src/generic/scrlwing.cpp	2013-12-16 05:42:30 -0800
+++ src/generic/scrlwing.cpp	2014-10-21 01:19:02 -0700
@@ -214,9 +214,6 @@
         return true;
     }
 
-    if ( processed && event.IsCommandEvent())
-        return true;
-
     // For wxEVT_PAINT the user code can either handle this event as usual or
     // override virtual OnDraw(), so if the event hasn't been handled we need
     // to call this virtual function ourselves.
@@ -235,6 +232,11 @@
         return true;
     }
 
+    // If the user code handled this event, it should prevent the default 
+    // handling from taking place, so don't do anything else in this case. 
+    if ( processed ) 
+        return true; 
+
     if ( evType == wxEVT_CHILD_FOCUS )
     {
         m_scrollHelper->HandleOnChildFocus((wxChildFocusEvent &)event);
=== modified file 'src/generic/vscroll.cpp'
--- src/generic/vscroll.cpp	2013-12-16 05:42:30 -0800
+++ src/generic/vscroll.cpp	2014-10-21 01:19:09 -0700
@@ -89,9 +89,6 @@
         return true;
     }
 
-    if ( processed && event.IsCommandEvent())
-        return true;
-
     // For wxEVT_PAINT the user code can either handle this event as usual or
     // override virtual OnDraw(), so if the event hasn't been handled we need
     // to call this virtual function ourselves.
@@ -110,6 +107,11 @@
         return true;
     }
 
+    // If the user code handled this event, it should prevent the default 
+    // handling from taking place, so don't do anything else in this case. 
+    if ( processed ) 
+        return true; 
+
     // reset the skipped flag (which might have been set to true in
     // ProcessEvent() above) to be able to test it below
     bool wasSkipped = event.GetSkipped();