From: Denys Dmytriyenko <denis@denix.org>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [meta-qt5][krogoth][PATCH] qtwayland: Fix building of QWaylandIntegration if some Qt5 features are disabled.
Date: Tue, 18 Oct 2016 15:44:02 -0400 [thread overview]
Message-ID: <20161018194402.GL2494@denix.org> (raw)
In-Reply-To: <1474790089-17176-1-git-send-email-dachaac@gmail.com>
On Sun, Sep 25, 2016 at 10:54:49AM +0300, Vesa Jääskeläinen wrote:
> 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>
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.
--
Denys
> ---
> 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
>
> diff --git a/recipes-qt/qt5/qtwayland-native_git.bb b/recipes-qt/qt5/qtwayland-native_git.bb
> index 8fc1862..18477b0 100644
> --- a/recipes-qt/qt5/qtwayland-native_git.bb
> +++ b/recipes-qt/qt5/qtwayland-native_git.bb
> @@ -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() {
> 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 0000000..d173e67
> --- /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 3153dc0..f6c4903 100644
> --- a/recipes-qt/qt5/qtwayland_git.bb
> +++ b/recipes-qt/qt5/qtwayland_git.bb
> @@ -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"
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
next prev parent reply other threads:[~2016-10-18 19:44 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-25 7:54 [meta-qt5][krogoth][PATCH] qtwayland: Fix building of QWaylandIntegration if some Qt5 features are disabled Vesa Jääskeläinen
2016-09-25 9:37 ` Vesa Jääskeläinen
2016-09-26 5:54 ` Samuli Piippo
2016-10-18 19:44 ` Denys Dmytriyenko [this message]
2016-10-25 18:41 ` Denys Dmytriyenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161018194402.GL2494@denix.org \
--to=denis@denix.org \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.