diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp index 5f733482830990e576f1502915786f22252fb765..2ad83066a878671d4101248f2836befc66d36c54 100644 --- a/src/shared/proparser/profileevaluator.cpp +++ b/src/shared/proparser/profileevaluator.cpp @@ -1800,15 +1800,16 @@ QStringList ProFileEvaluator::Private::expandVariableReferences( appendString(replacement.join(statics.field_sep), ¤t, &ptr, &pending); } else { - appendString(replacement.first(), ¤t, &ptr, &pending); + appendString(replacement.at(0), ¤t, &ptr, &pending); if (replacement.size() > 1) { flushCurrent(&ret, ¤t, &ptr, &pending); - pending = replacement.last(); + int j = 1; if (replacement.size() > 2) { // FIXME: ret.reserve(ret.size() + replacement.size() - 2); - for (int i = 1; i < replacement.size() - 1; ++i) - ret << replacement.at(i); + for (; j < replacement.size() - 1; ++j) + ret << replacement.at(j); } + pending = replacement.at(j); } } replaced = true;