From 32cfff864e7b44caa5a13ece123ce33ec805fa8a Mon Sep 17 00:00:00 2001 From: Jing Bai Date: Wed, 29 Aug 2012 13:48:43 +0200 Subject: add macro wrap for QXmlStream related code To fix a compile error when QXmlStream is removed by defining macro, but it is still used in some files. Change-Id: I776c799732212b7401767440448248fc7b5dc480 Reviewed-by: David Faure --- src/corelib/mimetypes/qmimeprovider.cpp | 5 +++++ src/corelib/mimetypes/qmimetypeparser.cpp | 8 ++++++++ 2 files changed, 13 insertions(+) (limited to 'src') diff --git a/src/corelib/mimetypes/qmimeprovider.cpp b/src/corelib/mimetypes/qmimeprovider.cpp index 3b0e0f51a0..08298c572a 100644 --- a/src/corelib/mimetypes/qmimeprovider.cpp +++ b/src/corelib/mimetypes/qmimeprovider.cpp @@ -529,6 +529,10 @@ QList QMimeBinaryProvider::allMimeTypes() void QMimeBinaryProvider::loadMimeTypePrivate(QMimeTypePrivate &data) { +#ifdef QT_NO_XMLSTREAMREADER + qWarning() << "Cannot load mime type since QXmlStreamReader is not available."; + return; +#else if (data.loaded) return; data.loaded = true; @@ -618,6 +622,7 @@ void QMimeBinaryProvider::loadMimeTypePrivate(QMimeTypePrivate &data) // But is this really worth the effort? } #endif +#endif //QT_NO_XMLSTREAMREADER } // Binary search in the icons or generic-icons list diff --git a/src/corelib/mimetypes/qmimetypeparser.cpp b/src/corelib/mimetypes/qmimetypeparser.cpp index 1b39e7b140..de6c30cf92 100644 --- a/src/corelib/mimetypes/qmimetypeparser.cpp +++ b/src/corelib/mimetypes/qmimetypeparser.cpp @@ -174,6 +174,7 @@ static bool parseNumber(const QString &n, int *target, QString *errorMessage) // Evaluate a magic match rule like // // +#ifndef QT_NO_XMLSTREAMREADER static bool createMagicMatchRule(const QXmlStreamAttributes &atts, QString *errorMessage, QMimeMagicRule *&rule) { @@ -202,9 +203,15 @@ static bool createMagicMatchRule(const QXmlStreamAttributes &atts, return true; } +#endif bool QMimeTypeParserBase::parse(QIODevice *dev, const QString &fileName, QString *errorMessage) { +#ifdef QT_NO_XMLSTREAMREADER + if (errorMessage) + *errorMessage = QString::fromLatin1("QXmlStreamReader is not available, cannot parse."); + return false; +#else QMimeTypePrivate data; int priority = 50; QStack currentRules; // stack for the nesting of rules @@ -338,6 +345,7 @@ bool QMimeTypeParserBase::parse(QIODevice *dev, const QString &fileName, QString } return true; +#endif //QT_NO_XMLSTREAMREADER } QT_END_NAMESPACE -- cgit v1.2.3