aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2020-04-16 12:18:27 +0200
committerMitch Curtis <mitch.curtis@qt.io>2020-04-17 13:39:03 +0200
commitdebbbf8dfce828b36b1c3a7f7ade439bafb3dd10 (patch)
tree16abab7ef5773c11dbc1a88d2106d09dd80b4b5e /src
parentc463f09fcb63927c66bc3307ddcc88d85d38b2bc (diff)
Fix build with latest QHash from qtbase
This is the same as what was done for 13ede1b9 in qtdeclarative. Change-Id: I00c7a066954efde0e569d24c267e734c31829c5b Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/quicktemplates2/qquickdeferredexecute.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/quicktemplates2/qquickdeferredexecute.cpp b/src/quicktemplates2/qquickdeferredexecute.cpp
index 5f2e3c55..8d44acf5 100644
--- a/src/quicktemplates2/qquickdeferredexecute.cpp
+++ b/src/quicktemplates2/qquickdeferredexecute.cpp
@@ -42,6 +42,8 @@
#include <QtQml/private/qqmlcomponent_p.h>
#include <QtQml/private/qqmlobjectcreator_p.h>
+#include <deque>
+
QT_BEGIN_NAMESPACE
namespace QtQuickPrivate {
@@ -89,21 +91,17 @@ static bool beginDeferred(QQmlEnginePrivate *enginePriv, const QQmlProperty &pro
enginePriv->inProgressCreations++;
- typedef QMultiHash<int, const QV4::CompiledData::Binding *> QV4PropertyBindingHash;
- auto it = std::reverse_iterator<QV4PropertyBindingHash::iterator>(range.second);
- auto last = std::reverse_iterator<QV4PropertyBindingHash::iterator>(range.first);
+ std::deque<const QV4::CompiledData::Binding *> reversedBindings;
+ std::copy(range.first, range.second, std::front_inserter(reversedBindings));
#if Q_QML_PRIVATE_API_VERSION < 7
- while (it != last) {
- if (!state->creator->populateDeferredBinding(property, deferData, *it))
+ for (const QV4::CompiledData::Binding *binding : reversedBindings) {
+ if (!state->creator->populateDeferredBinding(property, deferData, binding))
state->errors << state->creator->errors;
- ++it;
}
#else
state->creator->beginPopulateDeferred(deferData->context);
- while (it != last) {
- state->creator->populateDeferredBinding(property, deferData->deferredIdx, *it);
- ++it;
- }
+ for (const QV4::CompiledData::Binding *binding : reversedBindings)
+ state->creator->populateDeferredBinding(property, deferData->deferredIdx, binding);
state->creator->finalizePopulateDeferred();
state->errors << state->creator->errors;
#endif