Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
QWindowPrivate::forwardToPopup: fix QMenu touch press-drag-release
QMenu doesn't handle touch events, but depends on mouse synthesis. QGuiApplicationPrivate::processTouchEvent() calls QWindow::forwardToPopup(), which sends it to the popup window, which sends it to QMenu. The inherited QWidget::event() calls QEvent::ignore(). It's important for forwardToPopup() to return nullptr when the event is not handled, so that processTouchEvent() goes on to create the synth-mouse event and send it to processMouseEvent(), which calls forwardToPopup() again, which QMenu::mouseMoveEvent() handles. And we also follow the usual pattern that when an event is duplicated for delivery (as a synthetic event, or just to remap it), the accepted state of the original event must be updated to reflect whether or not the cloned event was accepted. QTabletEvents are handled similarly. Amends e4ef0f0 Change-Id: I0c6c03452a5b952161c9898d84d2c17afa52fc95 Reviewed-by: Shawn Rutledge <[email protected]>
- Loading branch information