Compile fix with recent Qt dev

The reasoning in 1b4766e26c did not take into account that the scope
of QT_NO_JAVA_STYLE_ITERATORS may change over time, as done with
f70905448f6 in Qt base.

Change-Id: Ib1966ff26c4d36d5f62e149d6b45baa4aecf825d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
hjk
2019-07-24 13:43:54 +02:00
parent 02e224fcfa
commit e3b1106afa
70 changed files with 238 additions and 491 deletions

View File

@@ -133,17 +133,15 @@ void ScxmlDocument::addNamespace(ScxmlNamespace *ns)
ScxmlTag *scxmlTag = scxmlRootTag();
if (scxmlTag) {
QMapIterator<QString, ScxmlNamespace*> i(m_namespaces);
while (i.hasNext()) {
i.next();
QString prefix = i.value()->prefix();
for (ScxmlNamespace *ns : qAsConst(m_namespaces)) {
QString prefix = ns->prefix();
if (prefix.isEmpty())
prefix = "xmlns";
if (prefix.startsWith("xmlns"))
scxmlTag->setAttribute(prefix, i.value()->name());
scxmlTag->setAttribute(prefix, ns->name());
else
scxmlTag->setAttribute(QString::fromLatin1("xmlns:%1").arg(prefix), i.value()->name());
scxmlTag->setAttribute(QString::fromLatin1("xmlns:%1").arg(prefix), ns->name());
}
}
}
@@ -172,17 +170,15 @@ bool ScxmlDocument::generateSCXML(QIODevice *io, ScxmlTag *tag) const
ScxmlTag *ScxmlDocument::createScxmlTag()
{
auto tag = new ScxmlTag(Scxml, this);
QMapIterator<QString, ScxmlNamespace*> i(m_namespaces);
while (i.hasNext()) {
i.next();
QString prefix = i.value()->prefix();
for (ScxmlNamespace *ns : m_namespaces) {
QString prefix = ns->prefix();
if (prefix.isEmpty())
prefix = "xmlns";
if (prefix.startsWith("xmlns"))
tag->setAttribute(prefix, i.value()->name());
tag->setAttribute(prefix, ns->name());
else
tag->setAttribute(QString::fromLatin1("xmlns:%1").arg(prefix), i.value()->name());
tag->setAttribute(QString::fromLatin1("xmlns:%1").arg(prefix), ns->name());
}
return tag;
}