summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api/qwaylandkeyboard.cpp
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@theqtcompany.com>2015-07-30 15:19:42 +0200
committerJørgen Lind <jorgen.lind@theqtcompany.com>2015-08-28 13:09:42 +0200
commitfb84a2bfd5ac4d4574df63d0f29d7904e043f123 (patch)
tree6e9f3f5d652da07d82a3bc1be70228f525740f25 /src/compositor/compositor_api/qwaylandkeyboard.cpp
parent0dcca22ab39096b60446225f51689df06a6f98e9 (diff)
Remove the static instance of a compositor.
All classes that needs to access the compositor instance needs to keep a reference to it Change-Id: Ia0d4b04b460200ad3c7907b94c032afe90c18771
Diffstat (limited to 'src/compositor/compositor_api/qwaylandkeyboard.cpp')
-rw-r--r--src/compositor/compositor_api/qwaylandkeyboard.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/compositor/compositor_api/qwaylandkeyboard.cpp b/src/compositor/compositor_api/qwaylandkeyboard.cpp
index e02e53fa3..09c0bfc9c 100644
--- a/src/compositor/compositor_api/qwaylandkeyboard.cpp
+++ b/src/compositor/compositor_api/qwaylandkeyboard.cpp
@@ -53,6 +53,18 @@ QWaylandKeyboard::QWaylandKeyboard(QWaylandInputDevice *seat, QObject *parent)
connect(&d->m_focusDestroyListener, &QWaylandDestroyListener::fired, this, &QWaylandKeyboard::focusDestroyed);
}
+QWaylandInputDevice *QWaylandKeyboard::inputDevice() const
+{
+ Q_D(const QWaylandKeyboard);
+ return d->m_seat;
+}
+
+QWaylandCompositor *QWaylandKeyboard::compositor() const
+{
+ Q_D(const QWaylandKeyboard);
+ return d->m_seat->compositor();
+}
+
void QWaylandKeyboard::focusDestroyed(void *data)
{
Q_UNUSED(data);
@@ -68,7 +80,7 @@ QWaylandClient *QWaylandKeyboard::focusClient() const
Q_D(const QWaylandKeyboard);
if (!d->focusResource())
return Q_NULLPTR;
- return QWaylandClient::fromWlClient(d->focusResource()->client());
+ return QWaylandClient::fromWlClient(compositor(), d->focusResource()->client());
}
void QWaylandKeyboard::sendKeyModifiers(QWaylandClient *client, uint serial)