summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets/qmenu.cpp
diff options
context:
space:
mode:
authorAlexander Volkov <a.volkov@rusbitech.ru>2014-10-29 17:59:42 +0400
committerAlexander Volkov <a.volkov@rusbitech.ru>2014-12-11 15:54:01 +0100
commit7b8aaf04f6fa6b8de17908b7c81ca53643cace70 (patch)
tree3900dcc3a57610cf6ade830e027525077f370523 /src/widgets/widgets/qmenu.cpp
parentfb9eca8c9c7c88673cc991f978a264a493652796 (diff)
Propagate the source of mouse events
Set the source for mouse events which were caused by other mouse events. Change-Id: Ifca1648883ef2b94bb317ed9340759475d350146 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'src/widgets/widgets/qmenu.cpp')
-rw-r--r--src/widgets/widgets/qmenu.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp
index acfccc8e19..5e5126e1e8 100644
--- a/src/widgets/widgets/qmenu.cpp
+++ b/src/widgets/widgets/qmenu.cpp
@@ -984,6 +984,7 @@ bool QMenuPrivate::mouseEventTaken(QMouseEvent *e)
if(e->type() != QEvent::MouseButtonRelease || mouseDown == caused) {
QMouseEvent new_e(e->type(), cpos, caused->mapTo(caused->topLevelWidget(), cpos), e->screenPos(),
e->button(), e->buttons(), e->modifiers());
+ QGuiApplicationPrivate::setMouseEventSource(&new_e, e->source());
QApplication::sendEvent(caused, &new_e);
return true;
}