diff options
author | Johan Klokkhammer Helsing <johan.helsing@qt.io> | 2016-10-12 16:01:27 +0200 |
---|---|---|
committer | Johan Helsing <johan.helsing@qt.io> | 2017-11-17 13:07:06 +0000 |
commit | ebd287f673609d52602ef8e6287f392d85b29f14 (patch) | |
tree | 188e9f1fb5240937cd1c267f1f7f691b41c657f0 /src/client | |
parent | 53c5a267b225c7492ac2ce0ba828d4de18ec59cc (diff) |
Client: Use QPointer for focus members of input device capabilities
Change-Id: I2824269f89fddb7e276cf0e35df3f7c063b6d8b3
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/qwaylandinputdevice.cpp | 8 | ||||
-rw-r--r-- | src/client/qwaylandinputdevice_p.h | 7 |
2 files changed, 5 insertions, 10 deletions
diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp index 4def0de8f..f6287ba8f 100644 --- a/src/client/qwaylandinputdevice.cpp +++ b/src/client/qwaylandinputdevice.cpp @@ -272,14 +272,8 @@ QWaylandInputDevice::Touch *QWaylandInputDevice::createTouch(QWaylandInputDevice void QWaylandInputDevice::handleWindowDestroyed(QWaylandWindow *window) { - if (mPointer && window == mPointer->mFocus) - mPointer->mFocus = 0; - if (mKeyboard && window == mKeyboard->mFocus) { - mKeyboard->mFocus = 0; + if (mKeyboard && window == mKeyboard->mFocus) mKeyboard->stopRepeat(); - } - if (mTouch && window == mTouch->mFocus) - mTouch->mFocus = 0; } void QWaylandInputDevice::handleEndDrag() diff --git a/src/client/qwaylandinputdevice_p.h b/src/client/qwaylandinputdevice_p.h index 9e3d1d1f4..adff3f113 100644 --- a/src/client/qwaylandinputdevice_p.h +++ b/src/client/qwaylandinputdevice_p.h @@ -71,6 +71,7 @@ #endif #include <QtCore/QDebug> +#include <QPointer> #if QT_CONFIG(cursor) struct wl_cursor_image; @@ -202,7 +203,7 @@ public: uint32_t group) override; QWaylandInputDevice *mParent; - QWaylandWindow *mFocus; + QPointer<QWaylandWindow> mFocus; #if QT_CONFIG(xkbcommon_evdev) xkb_context *mXkbContext; xkb_keymap *mXkbMap; @@ -253,7 +254,7 @@ public: void releaseButtons(); QWaylandInputDevice *mParent; - QWaylandWindow *mFocus; + QPointer<QWaylandWindow> mFocus; uint32_t mEnterSerial; #if QT_CONFIG(cursor) uint32_t mCursorSerial; @@ -293,7 +294,7 @@ public: void releasePoints(); QWaylandInputDevice *mParent; - QWaylandWindow *mFocus; + QPointer<QWaylandWindow> mFocus; QList<QWindowSystemInterface::TouchPoint> mTouchPoints; QList<QWindowSystemInterface::TouchPoint> mPrevTouchPoints; }; |