summaryrefslogtreecommitdiffstats
path: root/src/client
diff options
context:
space:
mode:
authorJohan Klokkhammer Helsing <johan.helsing@qt.io>2016-10-12 16:01:27 +0200
committerJohan Helsing <johan.helsing@qt.io>2017-11-17 13:07:06 +0000
commitebd287f673609d52602ef8e6287f392d85b29f14 (patch)
tree188e9f1fb5240937cd1c267f1f7f691b41c657f0 /src/client
parent53c5a267b225c7492ac2ce0ba828d4de18ec59cc (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.cpp8
-rw-r--r--src/client/qwaylandinputdevice_p.h7
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;
};