diff options
author | Guilhem Vallat <guilhem.vallat@gmail.com> | 2017-08-25 12:46:23 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2017-08-25 15:36:19 +0000 |
commit | 595b4add0ce6f32bb8ffc56b3a59e6e5bf0b000a (patch) | |
tree | 9b87068e81652597ccda72274ddc128633d44ab9 /src | |
parent | ad58631a946cd733a34b04634270eb1ac74941bc (diff) |
QMouseHandler: Add a parent to the internal timer
Without it the timer is leaked and doesn't follow the mouse handler when
move from a thread to another.
Task-number: QTBUG-62779
Change-Id: I34afc36165d2bbbce626d6c2c74f9408a319a7cb
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/input/frontend/qmousehandler.cpp | 7 | ||||
-rw-r--r-- | src/input/frontend/qmousehandler_p.h | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/input/frontend/qmousehandler.cpp b/src/input/frontend/qmousehandler.cpp index 61708425a..9f30810a9 100644 --- a/src/input/frontend/qmousehandler.cpp +++ b/src/input/frontend/qmousehandler.cpp @@ -69,6 +69,11 @@ QMouseHandlerPrivate::~QMouseHandlerPrivate() { } +void QMouseHandlerPrivate::init(QObject *parent) +{ + m_pressAndHoldTimer->setParent(parent); +} + void QMouseHandlerPrivate::mouseEvent(const QMouseEventPtr &event) { Q_Q(QMouseHandler); @@ -259,6 +264,8 @@ void QMouseHandlerPrivate::mouseEvent(const QMouseEventPtr &event) QMouseHandler::QMouseHandler(QNode *parent) : QComponent(*new QMouseHandlerPrivate, parent) { + Q_D(QMouseHandler); + d->init(this); } QMouseHandler::~QMouseHandler() diff --git a/src/input/frontend/qmousehandler_p.h b/src/input/frontend/qmousehandler_p.h index bb82334a0..3b2f2284d 100644 --- a/src/input/frontend/qmousehandler_p.h +++ b/src/input/frontend/qmousehandler_p.h @@ -70,6 +70,8 @@ public: QMouseHandlerPrivate(); ~QMouseHandlerPrivate(); + void init(QObject *parent); + QMouseDevice *m_mouseDevice; bool m_containsMouse; QScopedPointer<QTimer> m_pressAndHoldTimer; |