aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Shaw <[email protected]>2015-09-23 06:52:01 +0000
committerAndy Shaw <[email protected]>2015-09-29 14:49:34 +0000
commit906d910415454d64ff0b021b06f0df422a8c82bd (patch)
tree0226d1338d1ee7c03555d3e7c17261df8dd392d9
parent6a7de61bc15d0cde3a3c91c58f45ba10957aa39b (diff)
Compile when QML is disabled5.5
Since QJSValue is part of the QML module then it should check if that is available before using it so we add a QT_NO_JSVALUE define to help with this. Task-number: QTBUG-46850 Change-Id: I1974518a5c134dbb8508a46505b43c820a7a700a Reviewed-by: Liang Qi <[email protected]>
-rw-r--r--src/webchannel/qmetaobjectpublisher.cpp4
-rw-r--r--src/webchannel/webchannel.pro2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/webchannel/qmetaobjectpublisher.cpp b/src/webchannel/qmetaobjectpublisher.cpp
index 0cad569..22df02b 100644
--- a/src/webchannel/qmetaobjectpublisher.cpp
+++ b/src/webchannel/qmetaobjectpublisher.cpp
@@ -41,7 +41,9 @@
#include <QDebug>
#include <QJsonObject>
#include <QJsonArray>
+#ifndef QT_NO_JSVALUE
#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;
+#ifndef QT_NO_JSVALUE
} 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..931ee03 100644
--- a/src/webchannel/webchannel.pro
+++ b/src/webchannel/webchannel.pro
@@ -39,6 +39,8 @@ qtHaveModule(qml) {
PRIVATE_HEADERS += \
qqmlwebchannelattached_p.h
+} else {
+ DEFINES += QT_NO_JSVALUE
}
HEADERS += $$PUBLIC_HEADERS $$PRIVATE_HEADERS