Re: [oe] [meta-qt5][krogoth][PATCH] qtwayland: Fix building of QWaylandIntegration if some Qt5 features are disabled.

2016-10-25 Thread Denys Dmytriyenko
ping


On Tue, Oct 18, 2016 at 03:44:02PM -0400, Denys Dmytriyenko wrote:
> 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 
> 
> Tested-by: Denys Dmytriyenko 
> 
> 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 000..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?= 
> > +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 
> > + 
> > + #include 
> > ++#ifndef QT_NO_ACCESSIBILITY
> > + #include 
> > ++#endif
> > + #include 
> > + 
> > + #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_CLI

Re: [oe] [meta-qt5][krogoth][PATCH] qtwayland: Fix building of QWaylandIntegration if some Qt5 features are disabled.

2016-10-18 Thread Denys Dmytriyenko
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 

Tested-by: Denys Dmytriyenko 

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 000..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?= 
> +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 
> + 
> + #include 
> ++#ifndef QT_NO_ACCESSIBILITY
> + #include 
> ++#endif
> + #include 
> + 
> + #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 

Re: [oe] [meta-qt5][krogoth][PATCH] qtwayland: Fix building of QWaylandIntegration if some Qt5 features are disabled.

2016-09-25 Thread Samuli Piippo

On 25.09.2016 12:37, Vesa Jääskeläinen wrote:

On 25/09/2016 10.54, 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 
---
  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




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

--
___
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel


Re: [oe] [meta-qt5][krogoth][PATCH] qtwayland: Fix building of QWaylandIntegration if some Qt5 features are disabled.

2016-09-25 Thread Vesa Jääskeläinen

On 25/09/2016 10.54, 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 
---
  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


--
___
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel


[oe] [meta-qt5][krogoth][PATCH] qtwayland: Fix building of QWaylandIntegration if some Qt5 features are disabled.

2016-09-25 Thread 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.

Signed-off-by: Vesa Jääskeläinen 
---
 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 000..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?= 
+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 
+ 
+ #include 
++#ifndef QT_NO_ACCESSIBILITY
+ #include 
++#endif
+ #include 
+ 
+ #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
+@@