Author: hdu
Date: Fri Jun 13 09:55:17 2014
New Revision: 1602354

URL: http://svn.apache.org/r1602354
Log:
#i124191# fix horizontal scroll events on Mac

A problem with horizontal scrolling was reported on Mac. Reviewing the relevant
code identified some problems. The patch to fix them was confirmed to also fix
the reported problem.

Found-by: [email protected]
Tested-by: [email protected]
Tested-by: [email protected]
Tested-by: [email protected]
Tested-by: [email protected]

Merged from AOO trunk revision 1596491

Modified:
    openoffice/branches/AOO410/   (props changed)
    openoffice/branches/AOO410/main/   (props changed)
    openoffice/branches/AOO410/main/vcl/aqua/source/window/salframeview.mm

Propchange: openoffice/branches/AOO410/
------------------------------------------------------------------------------
  Merged /openoffice/trunk:r1596491

Propchange: openoffice/branches/AOO410/main/
------------------------------------------------------------------------------
  Merged /openoffice/trunk/main:r1596491

Modified: openoffice/branches/AOO410/main/vcl/aqua/source/window/salframeview.mm
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/vcl/aqua/source/window/salframeview.mm?rev=1602354&r1=1602353&r2=1602354&view=diff
==============================================================================
--- openoffice/branches/AOO410/main/vcl/aqua/source/window/salframeview.mm 
(original)
+++ openoffice/branches/AOO410/main/vcl/aqua/source/window/salframeview.mm Fri 
Jun 13 09:55:17 2014
@@ -803,8 +803,8 @@ private:
         mpFrame->mnLastModifierFlags = [pEvent modifierFlags];
         
         // merge pending scroll wheel events
-        float dX = 0.0;
-        float dY = 0.0;
+        CGFloat dX = 0.0;
+        CGFloat dY = 0.0;
         for(;;)
         {
             dX += [pEvent deltaX];
@@ -833,7 +833,7 @@ private:
         if( dX != 0.0 )
         {
             aEvent.mnDelta = static_cast<long>(floor(dX));
-            aEvent.mnNotchDelta = dX < 0 ? -1 : 1;
+            aEvent.mnNotchDelta = (dX < 0) ? -1 : +1;
             if( aEvent.mnDelta == 0 )
                 aEvent.mnDelta = aEvent.mnNotchDelta;
             aEvent.mbHorz = TRUE;
@@ -843,7 +843,7 @@ private:
         if( dY != 0.0 && AquaSalFrame::isAlive( mpFrame ))
         {
             aEvent.mnDelta = static_cast<long>(floor(dY));
-            aEvent.mnNotchDelta = dY < 0 ? -1 : 1;
+            aEvent.mnNotchDelta = (dY < 0) ? -1 : +1;
             if( aEvent.mnDelta == 0 )
                 aEvent.mnDelta = aEvent.mnNotchDelta;
             aEvent.mbHorz = FALSE;
@@ -863,8 +863,8 @@ private:
         mpFrame->mnLastModifierFlags = [pEvent modifierFlags];
 
         // merge pending scroll wheel events
-        float dX = 0.0;
-        float dY = 0.0;
+        CGFloat dX = 0.0;
+        CGFloat dY = 0.0;
         for(;;)
         {
             dX += [pEvent deltaX];
@@ -893,11 +893,11 @@ private:
         if( dX != 0.0 )
         {
             aEvent.mnDelta = static_cast<long>(floor(dX));
-            aEvent.mnNotchDelta = dX < 0 ? -1 : 1;
+            aEvent.mnNotchDelta = (dX < 0) ? -1 : +1;
             if( aEvent.mnDelta == 0 )
                 aEvent.mnDelta = aEvent.mnNotchDelta;
             aEvent.mbHorz = TRUE;
-            aEvent.mnScrollLines = dY > 0 ? dX/WHEEL_EVENT_FACTOR : 
-dX/WHEEL_EVENT_FACTOR;
+            aEvent.mnScrollLines = (dX > 0) ? +dX/WHEEL_EVENT_FACTOR : 
-dX/WHEEL_EVENT_FACTOR;
             if( aEvent.mnScrollLines == 0 )
                 aEvent.mnScrollLines = 1;
 
@@ -906,11 +906,11 @@ private:
         if( dY != 0.0 && AquaSalFrame::isAlive( mpFrame ) )
         {
             aEvent.mnDelta = static_cast<long>(floor(dY));
-            aEvent.mnNotchDelta = dY < 0 ? -1 : 1;
+            aEvent.mnNotchDelta = (dY < 0) ? -1 : +1;
             if( aEvent.mnDelta == 0 )
                 aEvent.mnDelta = aEvent.mnNotchDelta;
             aEvent.mbHorz = FALSE;
-            aEvent.mnScrollLines = dY > 0 ? dY/WHEEL_EVENT_FACTOR : 
-dY/WHEEL_EVENT_FACTOR;
+            aEvent.mnScrollLines = (dY > 0) ? +dY/WHEEL_EVENT_FACTOR : 
-dY/WHEEL_EVENT_FACTOR;
             if( aEvent.mnScrollLines < 1 )
                 aEvent.mnScrollLines = 1;
 


Reply via email to