diff options
Diffstat (limited to 'src/xml/dom')
-rw-r--r-- | src/xml/dom/qdom.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/xml/dom/qdom.cpp b/src/xml/dom/qdom.cpp index 90e97f512c..647e22bf26 100644 --- a/src/xml/dom/qdom.cpp +++ b/src/xml/dom/qdom.cpp @@ -60,6 +60,9 @@ #include <qshareddata.h> #include <qdebug.h> #include <qxmlstream.h> +#include <private/qduplicatetracker_p.h> + + #include <stdio.h> QT_BEGIN_NAMESPACE @@ -4081,10 +4084,10 @@ void QDomElementPrivate::save(QTextStream& s, int depth, int indent) const } s << '<' << qName << nsDecl; - QSet<QString> outputtedPrefixes; /* Write out attributes. */ if (!m_attr->map.isEmpty()) { + QDuplicateTracker<QString> outputtedPrefixes; QHash<QString, QDomNodePrivate *>::const_iterator it = m_attr->map.constBegin(); for (; it != m_attr->map.constEnd(); ++it) { s << ' '; @@ -4105,9 +4108,8 @@ void QDomElementPrivate::save(QTextStream& s, int depth, int indent) const * arrive in those situations. */ if((!it.value()->ownerNode || it.value()->ownerNode->prefix != it.value()->prefix) && - !outputtedPrefixes.contains(it.value()->prefix)) { + !outputtedPrefixes.hasSeen(it.value()->prefix)) { s << " xmlns:" << it.value()->prefix << "=\"" << encodeText(it.value()->namespaceURI, s, true, true) << '\"'; - outputtedPrefixes.insert(it.value()->prefix); } } } |