aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVesa Jääskeläinen <dachaac@gmail.com>2016-12-22 17:14:49 -0500
committerMartin Jansa <Martin.Jansa@gmail.com>2017-01-18 01:40:52 +0100
commitda138c99142bec136e43eba35ce09d86f00eca2c (patch)
treec35c57c9e2f7436304beacc3cd6a1d57c01c77ac
parent9aa870eecf6dc7a87678393bd55b97e21033ab48 (diff)
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> Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--recipes-qt/qt5/qtwayland-native_git.bb1
-rw-r--r--recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch156
-rw-r--r--recipes-qt/qt5/qtwayland_git.bb1
3 files changed, 158 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qtwayland-native_git.bb b/recipes-qt/qt5/qtwayland-native_git.bb
index a214346a..1149aa5b 100644
--- a/recipes-qt/qt5/qtwayland-native_git.bb
+++ b/recipes-qt/qt5/qtwayland-native_git.bb
@@ -18,6 +18,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() {
diff --git a/recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch b/recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch
new file mode 100644
index 00000000..d173e673
--- /dev/null
+++ b/recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch
@@ -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
+
diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb
index b208961c..e315924c 100644
--- a/recipes-qt/qt5/qtwayland_git.bb
+++ b/recipes-qt/qt5/qtwayland_git.bb
@@ -46,6 +46,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 = "a172672484b9496819e588b51ac2ff9fb4a21941"