Fixes: - Console application doesn't start on Mac

Task:     - 244263
RevBy:    - dt
This commit is contained in:
con
2009-02-19 12:42:32 +01:00
parent e863c9bd9e
commit d1edc2a2fa
2 changed files with 11 additions and 5 deletions

View File

@@ -768,11 +768,15 @@ bool ProFileEvaluator::Private::visitProValue(ProValue *value)
case ProVariable::RemoveOperator: // -= case ProVariable::RemoveOperator: // -=
if (!m_cumulative) { if (!m_cumulative) {
if (!m_skipLevel) { if (!m_skipLevel) {
removeEach(&m_valuemap, varName, v); // the insertUnique is a hack for the moment to fix the
removeEach(&m_filevaluemap[currentProFile()], varName, v); // CONFIG -= app_bundle problem on Mac (add it to a variable -CONFIG as was done before)
if (removeEach(&m_valuemap, varName, v) == 0)
insertUnique(&m_valuemap, QString("-%1").arg(varName), v);
if (removeEach(&m_filevaluemap[currentProFile()], varName, v) == 0)
insertUnique(&m_filevaluemap[currentProFile()], QString("-%1").arg(varName), v);
} }
} else if (!m_skipLevel) { } else if (!m_skipLevel) {
// this is a hack for the moment to fix the // the insertUnique is a hack for the moment to fix the
// CONFIG -= app_bundle problem on Mac (add it to a variable -CONFIG as was done before) // CONFIG -= app_bundle problem on Mac (add it to a variable -CONFIG as was done before)
insertUnique(&m_valuemap, QString("-%1").arg(varName), v); insertUnique(&m_valuemap, QString("-%1").arg(varName), v);
insertUnique(&m_filevaluemap[currentProFile()], QString("-%1").arg(varName), v); insertUnique(&m_filevaluemap[currentProFile()], QString("-%1").arg(varName), v);

View File

@@ -140,12 +140,14 @@ static void insertUnique(QHash<QString, QStringList> *map,
sl.append(str); sl.append(str);
} }
static void removeEach(QHash<QString, QStringList> *map, static int removeEach(QHash<QString, QStringList> *map,
const QString &key, const QStringList &value) const QString &key, const QStringList &value)
{ {
int count = 0;
QStringList &sl = (*map)[key]; QStringList &sl = (*map)[key];
foreach (const QString &str, value) foreach (const QString &str, value)
sl.removeAll(str); count += sl.removeAll(str);
return count;
} }
/* /*