diff options
author | Denis Dzyubenko <denis.dzyubenko@nokia.com> | 2009-12-18 10:49:51 (GMT) |
---|---|---|
committer | Denis Dzyubenko <denis.dzyubenko@nokia.com> | 2010-01-06 15:25:58 (GMT) |
commit | 5529a356368b31998e859e3fb5f94e85c16447aa (patch) | |
tree | a593e4fbd0c91ef183ea0df10640b7a2c9ee2ebe /src | |
parent | f8780558e3fc68321a0dd6dcef611eeee0805a2e (diff) | |
download | Qt-5529a356368b31998e859e3fb5f94e85c16447aa.zip Qt-5529a356368b31998e859e3fb5f94e85c16447aa.tar.gz Qt-5529a356368b31998e859e3fb5f94e85c16447aa.tar.bz2 |
Temporary hackiesh solution to prevent BOM in the xml data.
We don't want to have byte-order-mark in the middle of the written string.
Task-number: QTBUG-6893
Reviewed-by: Thiago
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/codecs/qtextcodec.h | 3 | ||||
-rw-r--r-- | src/corelib/xml/qxmlstream.cpp | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/corelib/codecs/qtextcodec.h b/src/corelib/codecs/qtextcodec.h index 75aafdd..d61cd6b 100644 --- a/src/corelib/codecs/qtextcodec.h +++ b/src/corelib/codecs/qtextcodec.h @@ -167,6 +167,9 @@ public: private: const QTextCodec *c; QTextCodec::ConverterState state; + + friend class QXmlStreamWriter; + friend class QXmlStreamWriterPrivate; }; class Q_CORE_EXPORT QTextDecoder { diff --git a/src/corelib/xml/qxmlstream.cpp b/src/corelib/xml/qxmlstream.cpp index 9f8867f..f987a31 100644 --- a/src/corelib/xml/qxmlstream.cpp +++ b/src/corelib/xml/qxmlstream.cpp @@ -3006,7 +3006,7 @@ QXmlStreamWriterPrivate::QXmlStreamWriterPrivate(QXmlStreamWriter *q) #ifndef QT_NO_TEXTCODEC codec = QTextCodec::codecForMib(106); // utf8 encoder = codec->makeEncoder(); - encoder->fromUnicode(QLatin1String("")); // no byte order mark for utf8 + encoder->state.flags |= QTextCodec::IgnoreHeader; // no byte order mark for utf8 #endif inStartElement = inEmptyElement = false; wroteSomething = false; @@ -3282,7 +3282,7 @@ void QXmlStreamWriter::setCodec(QTextCodec *codec) delete d->encoder; d->encoder = codec->makeEncoder(); if (codec->mibEnum() == 106) - d->encoder->fromUnicode(QLatin1String("")); // no byte order mark for utf8 + d->encoder->state.flags |= QTextCodec::IgnoreHeader; // no byte order mark for utf8 } } |