diff options
author | Josh Faust <jfaust@suitabletech.com> | 2013-02-06 15:49:02 -0800 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-02-14 13:40:24 +0100 |
commit | 02a1243dda82a99d8a7ce031245038f9564a6bc0 (patch) | |
tree | ed9ecc1a6e2e270912b77acab7f249b02d71854d /src/plugins | |
parent | 733430636d1a1e0fb49cf0665994f8ec064c8613 (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')
-rw-r--r-- | src/plugins/platforms/cocoa/qnsview.mm | 9 |
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]]); } } |