diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2011-09-01 11:13:35 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@nokia.com> | 2011-09-01 13:27:37 +0200 |
commit | c2aea75c220984953c53c3813717713437649999 (patch) | |
tree | e710906642169baf9213c047329d511e673bb98a /src/widgets/widgets/qmenu.cpp | |
parent | cf5e669a06ec1d8bd08a4db9c2849c5d7ea9fec4 (diff) |
Refactor QMouseEvent to contain the position inside the window
Rename the default accessors for positions to localPos, windowPos
and screenPos, to be explicit about their use.
Introduce a QT_NO_INTEGER_EVENT_COORDINATES define so one can make sure
to always use the float based coordinates.
Fixup all Qt code to use the correct constructor that specifies all
three coordinates.
Change-Id: If4bb93b8d1e2eb2440260d99680c468706cfe68f
Reviewed-on: http://codereview.qt.nokia.com/4058
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Diffstat (limited to 'src/widgets/widgets/qmenu.cpp')
-rw-r--r-- | src/widgets/widgets/qmenu.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 8494c9eca2..bcf7c574f0 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -994,7 +994,8 @@ bool QMenuPrivate::mouseEventTaken(QMouseEvent *e) } if (passOnEvent) { if(e->type() != QEvent::MouseButtonRelease || mouseDown == caused) { - QMouseEvent new_e(e->type(), cpos, e->button(), e->buttons(), e->modifiers()); + QMouseEvent new_e(e->type(), cpos, caused->mapTo(caused->topLevelWidget(), cpos), e->screenPos(), + e->button(), e->buttons(), e->modifiers()); QApplication::sendEvent(caused, &new_e); return true; } |