602ea84f44
After the migration to QPA, touch events usually have a QWindow as a receiver, unlike Qt4 where receivers were QWidgets. This broke QGestureManager and gestures such as the TapAndHoldGesture, because QGestureManager::filterEvent(QWidget *, QEvent *) was never called. Since the receivers are now of QWindow type, QGestureManager::filterEvent(QObject *, QEvent *) gets called instead, always returning false. This has several side effects, one of them was causing the TapAndHold gesture to time out, because it never got a TouchEnd event (and thus it thought that the touch was still going on, even though it was not). This patch ensures that if a gesture event is meant to be delivered to a QWidget, the right event filter method is called. Change-Id: I1df5f763fe6c4d8db0058adbd17d23d70b4988fe Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Denis Dzyubenko <denis@ddenis.info> |
||
---|---|---|
bin | ||
config.tests | ||
dist | ||
doc | ||
examples | ||
lib | ||
mkspecs | ||
qmake | ||
src | ||
tests | ||
tools | ||
util | ||
.gitattributes | ||
.gitignore | ||
.qmake.conf | ||
.tag | ||
configure | ||
configure.bat | ||
header.BSD | ||
header.FDL | ||
header.LGPL | ||
header.LGPL-ONLY | ||
INSTALL | ||
LGPL_EXCEPTION.txt | ||
LICENSE.FDL | ||
LICENSE.GPL | ||
LICENSE.LGPL | ||
LICENSE.PREVIEW.COMMERCIAL | ||
qtbase.pro | ||
sync.profile |