diff options
Diffstat (limited to 'package/qt5/qt5webchannel/0001-Fix-builds-without-qml-module.patch')
-rw-r--r-- | package/qt5/qt5webchannel/0001-Fix-builds-without-qml-module.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/package/qt5/qt5webchannel/0001-Fix-builds-without-qml-module.patch b/package/qt5/qt5webchannel/0001-Fix-builds-without-qml-module.patch new file mode 100644 index 0000000000..0eb007e4e0 --- /dev/null +++ b/package/qt5/qt5webchannel/0001-Fix-builds-without-qml-module.patch @@ -0,0 +1,61 @@ +From 4dee412aa655e1dc7f9e01869abcab47e0179422 Mon Sep 17 00:00:00 2001 +From: Julien Corjon <corjon.j@ecagroup.com> +Date: Wed, 22 Jul 2015 09:24:04 +0200 +Subject: [PATCH] Fix builds without qml module + +When we build without qml module we cannot use QJSValue in qmetaobjectpublisher +To prevent QJSValue inclusiion I use a preprocessor directive QT_HAVE_QML. This +is probably not the best solution but I do not know any other QML directive. + +Upstream--Status: https://bugreports.qt.io/browse/QTBUG-47360 +Signed-off-by: Julien Corjon <corjon.j@ecagroup.com> +--- + src/webchannel/qmetaobjectpublisher.cpp | 4 ++++ + src/webchannel/webchannel.pro | 2 ++ + 2 files changed, 6 insertions(+) + +diff --git a/src/webchannel/qmetaobjectpublisher.cpp b/src/webchannel/qmetaobjectpublisher.cpp +index 0cad569..b0e9652 100644 +--- a/src/webchannel/qmetaobjectpublisher.cpp ++++ b/src/webchannel/qmetaobjectpublisher.cpp +@@ -41,7 +41,9 @@ + #include <QDebug> + #include <QJsonObject> + #include <QJsonArray> ++#ifdef QT_HAVE_QML + #include <QJSValue> ++#endif + #include <QUuid> + + QT_BEGIN_NAMESPACE +@@ -486,12 +488,14 @@ QJsonValue QMetaObjectPublisher::wrapResult(const QVariant &result, QWebChannelA + if (!classInfo.isEmpty()) + objectInfo[KEY_DATA] = classInfo; + return objectInfo; ++#ifdef QT_HAVE_QML + } else if (result.canConvert<QJSValue>()) { + // Workaround for keeping QJSValues from QVariant. + // Calling QJSValue::toVariant() converts JS-objects/arrays to QVariantMap/List + // instead of stashing a QJSValue itself into a variant. + // TODO: Improve QJSValue-QJsonValue conversion in Qt. + return wrapResult(result.value<QJSValue>().toVariant(), transport, parentObjectId); ++#endif + } else if (result.canConvert<QVariantList>()) { + // recurse and potentially wrap contents of the array + return wrapList(result.toList(), transport); +diff --git a/src/webchannel/webchannel.pro b/src/webchannel/webchannel.pro +index eba8123..f476d6f 100644 +--- a/src/webchannel/webchannel.pro ++++ b/src/webchannel/webchannel.pro +@@ -30,6 +30,8 @@ SOURCES += \ + qtHaveModule(qml) { + QT += qml + ++ QMAKE_CXXFLAGS += "-DQT_HAVE_QML" ++ + SOURCES += \ + qqmlwebchannel.cpp \ + qqmlwebchannelattached.cpp +-- +2.1.0 + |