@@ -21,6 +21,7 @@
2121#include <QtQuick/QQuickView>
2222#include <QtQml/QQmlEngine>
2323#include <private/qquickwindow_p.h>
24+#include <UbuntuGestures/private/ucswipearea_p_p.h>
2425
2526#include <AxisVelocityCalculator.h>
2627#include <Timer>
@@ -200,12 +201,11 @@ QQuickItem *tst_DragHandle::fetchAndSetupDragHandle(const char *objectName)
200201 QQuickItem *dragHandle =
201202 m_view->rootObject()->findChild<QQuickItem*>(objectName);
202203 Q_ASSERT(dragHandle != 0);
203− auto children = dragHandle->findChildren<QObject*>();
204− Q_FOREACH(QObject *child, children) {
205− if (child->metaObject()->className() == QByteArray("UCSwipeAreaPrivate")) {
206− QMetaObject::invokeMethod(child, "setRecognitionTimer", Q_ARG(UbuntuGestures::AbstractTimer*, m_fakeTimer));
207− QMetaObject::invokeMethod(child, "setTimeSource", Q_ARG(UbuntuGestures::SharedTimeSource, m_fakeTimeSource));
208− }
204+ UCSwipeArea *swipeArea = dynamic_cast<UCSwipeArea*>(dragHandle);
205+ if (swipeArea) {
206+ UCSwipeAreaPrivate *swipeAreaPrivate = dynamic_cast<UCSwipeAreaPrivate *>(QQuickItemPrivate::get(swipeArea));
207+ swipeAreaPrivate->setRecognitionTimer(m_fakeTimer);
208+ swipeAreaPrivate->setTimeSource(m_fakeTimeSource);
209209 }
210210
211211 AxisVelocityCalculator *edgeDragEvaluator =