Set the source for a detached mouse button event
If a mouse event from the window system changes both position and buttons at the same time, then it's split by QGuiApplication into a mouse move event followed by a mouse button event. Propagate the source of the original mouse event to the mouse button event. Change-Id: I075fb4ad9e4338bf8ec170630ce270b38d8682d9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
This commit is contained in:
parent
30c8e845be
commit
a0aad95f5a
@ -1713,7 +1713,7 @@ void QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::Mo
|
|||||||
// should first send a move event followed by a button changed event. Since this is not the case
|
// should first send a move event followed by a button changed event. Since this is not the case
|
||||||
// with the current event, we split it in two.
|
// with the current event, we split it in two.
|
||||||
QWindowSystemInterfacePrivate::MouseEvent mouseButtonEvent(
|
QWindowSystemInterfacePrivate::MouseEvent mouseButtonEvent(
|
||||||
e->window.data(), e->timestamp, e->type, e->localPos, e->globalPos, e->buttons, e->modifiers);
|
e->window.data(), e->timestamp, e->type, e->localPos, e->globalPos, e->buttons, e->modifiers, e->source);
|
||||||
if (e->flags & QWindowSystemInterfacePrivate::WindowSystemEvent::Synthetic)
|
if (e->flags & QWindowSystemInterfacePrivate::WindowSystemEvent::Synthetic)
|
||||||
mouseButtonEvent.flags |= QWindowSystemInterfacePrivate::WindowSystemEvent::Synthetic;
|
mouseButtonEvent.flags |= QWindowSystemInterfacePrivate::WindowSystemEvent::Synthetic;
|
||||||
e->buttons = buttons;
|
e->buttons = buttons;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user