From 989a16b789fb5a55a844728a2ee770d538822065 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Thu, 20 Dec 2018 16:43:18 +0200 Subject: [PATCH] Because VDomDocument::find checks for unique id we must use temp cache. ref #905 --HG-- branch : release --- src/libs/ifc/xml/vdomdocument.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libs/ifc/xml/vdomdocument.cpp b/src/libs/ifc/xml/vdomdocument.cpp index 4841f683d..27292c9c8 100644 --- a/src/libs/ifc/xml/vdomdocument.cpp +++ b/src/libs/ifc/xml/vdomdocument.cpp @@ -231,10 +231,14 @@ QDomElement VDomDocument::elementById(quint32 id, const QString &tagName) if (tagName.isEmpty()) { - if (VDomDocument::find(m_elementIdCache, this->documentElement(), id)) + // Because VDomDocument::find checks for unique id we must use temp cache + QHash tmpCache; + if (VDomDocument::find(tmpCache, this->documentElement(), id)) { - return m_elementIdCache.value(id); + m_elementIdCache = tmpCache; + return m_elementIdCache.value(id); } + m_elementIdCache = tmpCache; } else {