From debbbf8dfce828b36b1c3a7f7ade439bafb3dd10 Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Thu, 16 Apr 2020 12:18:27 +0200 Subject: 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 --- src/quicktemplates2/qquickdeferredexecute.cpp | 18 ++++++++---------- 1 file 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 #include +#include + QT_BEGIN_NAMESPACE namespace QtQuickPrivate { @@ -89,21 +91,17 @@ static bool beginDeferred(QQmlEnginePrivate *enginePriv, const QQmlProperty &pro enginePriv->inProgressCreations++; - typedef QMultiHash QV4PropertyBindingHash; - auto it = std::reverse_iterator(range.second); - auto last = std::reverse_iterator(range.first); + std::deque 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 -- cgit v1.2.3