diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp index 63ff76ce834..ca2d7a47f67 100644 --- a/src/shared/proparser/profileevaluator.cpp +++ b/src/shared/proparser/profileevaluator.cpp @@ -910,21 +910,17 @@ QStringList ProFileEvaluator::Private::split_value_list(const QString &vals) return ret; } -static void insertUnique(QHash *map, - const QString &key, const QStringList &value) +static void insertUnique(QStringList *varlist, const QStringList &value) { - QStringList &sl = (*map)[key]; foreach (const QString &str, value) - if (!sl.contains(str)) - sl.append(str); + if (!varlist->contains(str)) + varlist->append(str); } -static void removeEach(QHash *map, - const QString &key, const QStringList &value) +static void removeEach(QStringList *varlist, const QStringList &value) { - QStringList &sl = (*map)[key]; foreach (const QString &str, value) - sl.removeAll(str); + varlist->removeAll(str); } static void replaceInList(QStringList *varlist, @@ -1166,8 +1162,8 @@ void ProFileEvaluator::Private::visitProVariable(ProVariable *var) break; case ProVariable::UniqueAddOperator: // *= if (!m_skipLevel || m_cumulative) { - insertUnique(&m_valuemap, varName, varVal); - insertUnique(&m_filevaluemap[currentProFile()], varName, varVal); + insertUnique(&m_valuemap[varName], varVal); + insertUnique(&m_filevaluemap[currentProFile()][varName], varVal); } break; case ProVariable::AddOperator: // += @@ -1179,8 +1175,8 @@ void ProFileEvaluator::Private::visitProVariable(ProVariable *var) case ProVariable::RemoveOperator: // -= if (!m_cumulative) { if (!m_skipLevel) { - removeEach(&m_valuemap, varName, varVal); - removeEach(&m_filevaluemap[currentProFile()], varName, varVal); + removeEach(&m_valuemap[varName], varVal); + removeEach(&m_filevaluemap[currentProFile()][varName], varVal); } } else { // We are stingy with our values, too.