summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
authorJosh Faust <jfaust@suitabletech.com>2013-02-06 15:49:02 -0800
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-02-14 13:40:24 +0100
commit02a1243dda82a99d8a7ce031245038f9564a6bc0 (patch)
treeed9ecc1a6e2e270912b77acab7f249b02d71854d /src/plugins/platforms
parent733430636d1a1e0fb49cf0665994f8ec064c8613 (diff)
Fix globalPos() in scrollwheel events on OSX.
The window position was getting passed as both the window and global positions. QTBUG-29543 Change-Id: I24746675e5ba45adbd054742877bd2fe783d6608 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/cocoa/qnsview.mm9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index da3e6277c6..1d59592e7d 100644
--- a/src/plugins/platforms/cocoa/qnsview.mm
+++ b/src/plugins/platforms/cocoa/qnsview.mm
@@ -645,9 +645,8 @@ static QTouchDevice *touchDevice = 0;
}
#endif
-
- NSPoint windowPoint = [self convertPoint: [theEvent locationInWindow] fromView: nil];
- QPoint qt_windowPoint(windowPoint.x, windowPoint.y);
+ QPoint qt_windowPoint, qt_screenPoint;
+ [self convertFromEvent:theEvent toWindowPoint:&qt_windowPoint andScreenPoint:&qt_screenPoint];
NSTimeInterval timestamp = [theEvent timestamp];
ulong qt_timestamp = timestamp * 1000;
@@ -665,7 +664,7 @@ static QTouchDevice *touchDevice = 0;
currentWheelModifiers = [self convertKeyModifiers:[theEvent modifierFlags]];
}
- QWindowSystemInterface::handleWheelEvent(m_window, qt_timestamp, qt_windowPoint, qt_windowPoint, pixelDelta, angleDelta, currentWheelModifiers);
+ QWindowSystemInterface::handleWheelEvent(m_window, qt_timestamp, qt_windowPoint, qt_screenPoint, pixelDelta, angleDelta, currentWheelModifiers);
if (phase == NSEventPhaseEnded || phase == NSEventPhaseCancelled) {
currentWheelModifiers = Qt::NoModifier;
@@ -673,7 +672,7 @@ static QTouchDevice *touchDevice = 0;
} else
#endif
{
- QWindowSystemInterface::handleWheelEvent(m_window, qt_timestamp, qt_windowPoint, qt_windowPoint, pixelDelta, angleDelta,
+ QWindowSystemInterface::handleWheelEvent(m_window, qt_timestamp, qt_windowPoint, qt_screenPoint, pixelDelta, angleDelta,
[self convertKeyModifiers:[theEvent modifierFlags]]);
}
}