Skip to contentSkip to conversation

qtwayland: Fix building of QWaylandIntegration if some Qt5 features are disabled.

PATCH In review Vesa Jääskeläinen 3 participants 5 messages Sep 25, 2016 – Oct 25, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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.

---
 recipes-qt/qt5/qtwayland-native_git.bb             |   1 +
 ...g-of-QWaylandIntegration-if-some-Qt5-feat.patch | 156 +++++++++++++++++++++
 recipes-qt/qt5/qtwayland_git.bb                    |   1 +
 3 files changed, 158 insertions(+)
 create mode 100644 recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch
recipes-qt/qt5/qtwayland-native_git.bb +1 -0
index 8fc1862..18477b0 100644
@@ -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() {
recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch new file +156 -0

156 lines not on this page · raw message

recipes-qt/qt5/qtwayland_git.bb +1 -0
index 3153dc0..f6c4903 100644
@@ -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 = "d8b4bef3ddff327598027c8f94a61e3d0b61a2dd"
Signature · 1 line
2.7.4
#1 lore raw
Quoted 5 lines · Vesa Jääskeläinen

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.

Quoted 8 lines
---
  recipes-qt/qt5/qtwayland-native_git.bb             |   1 +
  ...g-of-QWaylandIntegration-if-some-Qt5-feat.patch | 156 +++++++++++++++++++++
  recipes-qt/qt5/qtwayland_git.bb                    |   1 +
  3 files changed, 158 insertions(+)

create mode 100644 recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch

FYI: I have sent upstream PR but no response within a week:
https://github.com/qt/qtwayland/pull/1

#2 lore raw
Quoted 18 lines · Vesa Jääskeläinen
Quoted 7 lines · Vesa Jääskeläinen

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.

Quoted 10 lines
---
  recipes-qt/qt5/qtwayland-native_git.bb             |   1 +
  ...g-of-QWaylandIntegration-if-some-Qt5-feat.patch | 156
+++++++++++++++++++++
  recipes-qt/qt5/qtwayland_git.bb                    |   1 +
  3 files changed, 158 insertions(+)

create mode 100644
recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch

Quoted 4 lines

FYI: I have sent upstream PR but no response within a week:
https://github.com/qt/qtwayland/pull/1

FYI: All commits to Qt modules must go through Qt Gerrit (codereview.qt-project.org), github is used only as a mirror.

Tested-by on v1 1/1
#3 lore raw
In reply to Vesa Jääskeläinen
Quoted 6 lines · Vesa Jääskeläinen

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.

Resolves the build issue for me on krogoth and Qt 5.6.1

I also forward-ported this patch to master and Qt 5.7.0 and submitted it separately.

Signature · 1 line
Denys
Quoted 201 lines
---
 recipes-qt/qt5/qtwayland-native_git.bb             |   1 +
 ...g-of-QWaylandIntegration-if-some-Qt5-feat.patch | 156 +++++++++++++++++++++
 recipes-qt/qt5/qtwayland_git.bb                    |   1 +
 3 files changed, 158 insertions(+)
 create mode 100644 recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch
recipes-qt/qt5/qtwayland-native_git.bb +1 -0
index 8fc1862..18477b0 100644
@@ -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() {
recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch new file +156 -0
new file mode 100644
index 0000000..d173e67
@@ -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?= <[email protected]>
+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
+
recipes-qt/qt5/qtwayland_git.bb +1 -0
index 3153dc0..f6c4903 100644
@@ -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 = "d8b4bef3ddff327598027c8f94a61e3d0b61a2dd"
Signature · 7 lines
2.7.4

-- 
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel
#4 lore raw

ping

Quoted 225 lines · Denys Dmytriyenko
Quoted 6 lines · Vesa Jääskeläinen

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.

Resolves the build issue for me on krogoth and Qt 5.6.1

I also forward-ported this patch to master and Qt 5.7.0 and submitted it separately.

Signature · 1 line
Denys
Quoted 201 lines
---
 recipes-qt/qt5/qtwayland-native_git.bb             |   1 +
 ...g-of-QWaylandIntegration-if-some-Qt5-feat.patch | 156 +++++++++++++++++++++
 recipes-qt/qt5/qtwayland_git.bb                    |   1 +
 3 files changed, 158 insertions(+)
 create mode 100644 recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch
recipes-qt/qt5/qtwayland-native_git.bb +1 -0
index 8fc1862..18477b0 100644
@@ -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() {
recipes-qt/qt5/qtwayland/0001-Fix-building-of-QWaylandIntegration-if-some-Qt5-feat.patch new file +156 -0
new file mode 100644
index 0000000..d173e67
@@ -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?= <[email protected]>
+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
+
recipes-qt/qt5/qtwayland_git.bb +1 -0
index 3153dc0..f6c4903 100644
@@ -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 = "d8b4bef3ddff327598027c8f94a61e3d0b61a2dd"
Signature · 7 lines
2.7.4

-- 
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Signature · 4 lines
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel