summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api/qwaylandcompositor_p.h
diff options
context:
space:
mode:
authorGatis Paeglis <gatis.paeglis@qt.io>2018-12-14 12:14:42 +0100
committerGatis Paeglis <gatis.paeglis@qt.io>2019-04-16 09:18:41 +0000
commit60dc973ab2c9227e2b6161a8b61a8c129e8b8cbc (patch)
tree1772a6cc5dfc3426c36f9dcc63c461f1e9edf950 /src/compositor/compositor_api/qwaylandcompositor_p.h
parent6eda0ca6aff3df020f71c74a3834f388cbdc685d (diff)
compositor: rework xkb context/keymap/state handling
- Use smart pointers from xkbcommon_support-private. - Avoid unnecessary strdup()/free() calls. - Don't recreate context. And move it into qwaylandcompositor so it can be shared between seats. It contains things like a logging level and include paths. Change-Id: Ibea29f2874cc147a8e08f15192831fa42ca58f48 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Diffstat (limited to 'src/compositor/compositor_api/qwaylandcompositor_p.h')
-rw-r--r--src/compositor/compositor_api/qwaylandcompositor_p.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/compositor/compositor_api/qwaylandcompositor_p.h b/src/compositor/compositor_api/qwaylandcompositor_p.h
index d91977def..2c9624216 100644
--- a/src/compositor/compositor_api/qwaylandcompositor_p.h
+++ b/src/compositor/compositor_api/qwaylandcompositor_p.h
@@ -60,6 +60,10 @@
#include <QtWaylandCompositor/private/qwayland-server-wayland.h>
+#if QT_CONFIG(xkbcommon)
+#include <QtXkbCommonSupport/private/qxkbcommon_p.h>
+#endif
+
QT_BEGIN_NAMESPACE
namespace QtWayland {
@@ -81,6 +85,10 @@ public:
QWaylandCompositorPrivate(QWaylandCompositor *compositor);
~QWaylandCompositorPrivate() override;
+#if QT_CONFIG(xkbcommon)
+ struct xkb_context *xkbContext() const { return mXkbContext.get(); }
+#endif
+
void preInit();
void init();
@@ -169,6 +177,10 @@ protected:
bool initialized = false;
QList<QPointer<QObject> > polish_objects;
+#if QT_CONFIG(xkbcommon)
+ QXkbCommon::ScopedXKBContext mXkbContext;
+#endif
+
Q_DECLARE_PUBLIC(QWaylandCompositor)
Q_DISABLE_COPY(QWaylandCompositorPrivate)
};