mirror of
https://github.com/thead-yocto-mirror/meta-qt5
synced 2026-09-17 12:41:55 +02:00
qtwayland: Fix building of QWaylandIntegration if some Qt5 features are disabled.
QPlatformIntegration's interface methods are disabled based on QT_NO_OPENGL, QT_NO_CLIPBOARD, QT_NO_DRAGANDDROP, QT_NO_ACCESSIBILITY and QT_NO_SESSIONMANAGER, these has to be taken into account when compiling QtWayland. Signed-off-by: Vesa Jääskeläinen <dachaac@gmail.com> Tested-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
committed by
Martin Jansa
parent
042a096e49
commit
2c89965fb0
@@ -15,6 +15,7 @@ DEPENDS = "qtbase-native wayland-native"
|
||||
|
||||
SRC_URI += " \
|
||||
file://0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch \
|
||||
file://0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch \
|
||||
"
|
||||
|
||||
do_configure() {
|
||||
|
||||
@@ -0,0 +1,156 @@
|
||||
From de85e1c1ee76be845a21b441d9e4ea12a30d84c7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Vesa=20J=C3=A4=C3=A4skel=C3=A4inen?= <dachaac@gmail.com>
|
||||
Date: Sun, 18 Sep 2016 11:51:59 +0300
|
||||
Subject: [PATCH] Fix building of QWaylandIntegration if some Qt5 features are
|
||||
disabled.
|
||||
|
||||
QPlatformIntegration's interface methods are disabled based on QT_NO_OPENGL,
|
||||
QT_NO_CLIPBOARD, QT_NO_DRAGANDDROP, QT_NO_ACCESSIBILITY and
|
||||
QT_NO_SESSIONMANAGER, these has to be taken into account when compiling
|
||||
QtWayland.
|
||||
---
|
||||
src/client/qwaylandintegration.cpp | 21 ++++++++++++++++++---
|
||||
src/client/qwaylandintegration_p.h | 12 ++++++++++++
|
||||
2 files changed, 30 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/client/qwaylandintegration.cpp b/src/client/qwaylandintegration.cpp
|
||||
index 39fff53..481e3d6 100644
|
||||
--- a/src/client/qwaylandintegration.cpp
|
||||
+++ b/src/client/qwaylandintegration.cpp
|
||||
@@ -39,7 +39,9 @@
|
||||
#include "qwaylandinputcontext_p.h"
|
||||
#include "qwaylandshmbackingstore_p.h"
|
||||
#include "qwaylandnativeinterface_p.h"
|
||||
+#ifndef QT_NO_CLIPBOARD
|
||||
#include "qwaylandclipboard_p.h"
|
||||
+#endif
|
||||
#include "qwaylanddnd_p.h"
|
||||
#include "qwaylandwindowmanagerintegration_p.h"
|
||||
#include "qwaylandscreen_p.h"
|
||||
@@ -57,7 +59,9 @@
|
||||
#include <QSocketNotifier>
|
||||
|
||||
#include <qpa/qplatforminputcontextfactory_p.h>
|
||||
+#ifndef QT_NO_ACCESSIBILITY
|
||||
#include <qpa/qplatformaccessibility.h>
|
||||
+#endif
|
||||
#include <qpa/qplatforminputcontext.h>
|
||||
|
||||
#include "qwaylandhardwareintegration_p.h"
|
||||
@@ -117,8 +121,6 @@ QWaylandIntegration::QWaylandIntegration()
|
||||
, mNativeInterface(new QWaylandNativeInterface(this))
|
||||
#ifndef QT_NO_ACCESSIBILITY
|
||||
, mAccessibility(new QPlatformAccessibility())
|
||||
-#else
|
||||
- , mAccessibility(0)
|
||||
#endif
|
||||
, mClientBufferIntegrationInitialized(false)
|
||||
, mServerBufferIntegrationInitialized(false)
|
||||
@@ -126,9 +128,12 @@ QWaylandIntegration::QWaylandIntegration()
|
||||
{
|
||||
initializeInputDeviceIntegration();
|
||||
mDisplay = new QWaylandDisplay(this);
|
||||
+#ifndef QT_NO_CLIPBOARD
|
||||
mClipboard = new QWaylandClipboard(mDisplay);
|
||||
+#endif
|
||||
+#ifndef QT_NO_DRAGANDDROP
|
||||
mDrag = new QWaylandDrag(mDisplay);
|
||||
-
|
||||
+#endif
|
||||
QString icStr = QPlatformInputContextFactory::requested();
|
||||
icStr.isNull() ? mInputContext.reset(new QWaylandInputContext(mDisplay))
|
||||
: mInputContext.reset(QPlatformInputContextFactory::create(icStr));
|
||||
@@ -136,8 +141,12 @@ QWaylandIntegration::QWaylandIntegration()
|
||||
|
||||
QWaylandIntegration::~QWaylandIntegration()
|
||||
{
|
||||
+#ifndef QT_NO_DRAGANDDROP
|
||||
delete mDrag;
|
||||
+#endif
|
||||
+#ifndef QT_NO_CLIPBOARD
|
||||
delete mClipboard;
|
||||
+#endif
|
||||
#ifndef QT_NO_ACCESSIBILITY
|
||||
delete mAccessibility;
|
||||
#endif
|
||||
@@ -213,15 +222,19 @@ QPlatformFontDatabase *QWaylandIntegration::fontDatabase() const
|
||||
return mFontDb;
|
||||
}
|
||||
|
||||
+#ifndef QT_NO_CLIPBOARD
|
||||
QPlatformClipboard *QWaylandIntegration::clipboard() const
|
||||
{
|
||||
return mClipboard;
|
||||
}
|
||||
+#endif
|
||||
|
||||
+#ifndef QT_NO_DRAGANDDROP
|
||||
QPlatformDrag *QWaylandIntegration::drag() const
|
||||
{
|
||||
return mDrag;
|
||||
}
|
||||
+#endif
|
||||
|
||||
QPlatformInputContext *QWaylandIntegration::inputContext() const
|
||||
{
|
||||
@@ -243,10 +256,12 @@ QVariant QWaylandIntegration::styleHint(StyleHint hint) const
|
||||
return QPlatformIntegration::styleHint(hint);
|
||||
}
|
||||
|
||||
+#ifndef QT_NO_ACCESSIBILITY
|
||||
QPlatformAccessibility *QWaylandIntegration::accessibility() const
|
||||
{
|
||||
return mAccessibility;
|
||||
}
|
||||
+#endif
|
||||
|
||||
QPlatformServices *QWaylandIntegration::services() const
|
||||
{
|
||||
diff --git a/src/client/qwaylandintegration_p.h b/src/client/qwaylandintegration_p.h
|
||||
index 987d805..b50ad95 100644
|
||||
--- a/src/client/qwaylandintegration_p.h
|
||||
+++ b/src/client/qwaylandintegration_p.h
|
||||
@@ -80,15 +80,21 @@ public:
|
||||
|
||||
QPlatformNativeInterface *nativeInterface() const Q_DECL_OVERRIDE;
|
||||
|
||||
+#ifndef QT_NO_CLIPBOARD
|
||||
QPlatformClipboard *clipboard() const Q_DECL_OVERRIDE;
|
||||
+#endif
|
||||
|
||||
+#ifndef QT_NO_DRAGANDDROP
|
||||
QPlatformDrag *drag() const Q_DECL_OVERRIDE;
|
||||
+#endif
|
||||
|
||||
QPlatformInputContext *inputContext() const Q_DECL_OVERRIDE;
|
||||
|
||||
QVariant styleHint(StyleHint hint) const Q_DECL_OVERRIDE;
|
||||
|
||||
+#ifndef QT_NO_ACCESSIBILITY
|
||||
QPlatformAccessibility *accessibility() const Q_DECL_OVERRIDE;
|
||||
+#endif
|
||||
|
||||
QPlatformServices *services() const Q_DECL_OVERRIDE;
|
||||
|
||||
@@ -117,12 +123,18 @@ private:
|
||||
void initializeInputDeviceIntegration();
|
||||
|
||||
QPlatformFontDatabase *mFontDb;
|
||||
+#ifndef QT_NO_CLIPBOARD
|
||||
QPlatformClipboard *mClipboard;
|
||||
+#endif
|
||||
+#ifndef QT_NO_DRAGANDDROP
|
||||
QPlatformDrag *mDrag;
|
||||
+#endif
|
||||
QWaylandDisplay *mDisplay;
|
||||
QPlatformNativeInterface *mNativeInterface;
|
||||
QScopedPointer<QPlatformInputContext> mInputContext;
|
||||
+#ifndef QT_NO_ACCESSIBILITY
|
||||
QPlatformAccessibility *mAccessibility;
|
||||
+#endif
|
||||
bool mClientBufferIntegrationInitialized;
|
||||
bool mServerBufferIntegrationInitialized;
|
||||
bool mShellIntegrationInitialized;
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -34,6 +34,7 @@ FILES_${PN}-plugins-dbg += " \
|
||||
|
||||
SRC_URI += " \
|
||||
file://0001-examples-wayland-include-server-buffer-only-when-bui.patch \
|
||||
file://0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch \
|
||||
"
|
||||
|
||||
SRCREV = "82e11583928d47576c160d35c9df05c0eec34df8"
|
||||
|
||||
Reference in New Issue
Block a user