summaryrefslogtreecommitdiffstats
path: root/tools/linguist/shared
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar@trolltech.com>2009-04-17 07:23:47 (GMT)
committerGunnar Sletta <gunnar@trolltech.com>2009-04-17 07:23:47 (GMT)
commit58f8796ae4d9dcb9e741d2a07c87e6b82a2a4d9b (patch)
tree5f265a6f87cabef61dd763aab3d76e200d8d67a3 /tools/linguist/shared
parentac7484e36bfab69473278d7268cf37f7c69abfd2 (diff)
parentd43d33eb3121519d0025ad433d5c186365c47ef6 (diff)
downloadQt-58f8796ae4d9dcb9e741d2a07c87e6b82a2a4d9b.zip
Qt-58f8796ae4d9dcb9e741d2a07c87e6b82a2a4d9b.tar.gz
Qt-58f8796ae4d9dcb9e741d2a07c87e6b82a2a4d9b.tar.bz2
Merge branch 'qt/main'
Conflicts: src/opengl/opengl.pro
Diffstat (limited to 'tools/linguist/shared')
-rw-r--r--tools/linguist/shared/profileevaluator.cpp11
-rw-r--r--tools/linguist/shared/translatormessage.h4
2 files changed, 12 insertions, 3 deletions
diff --git a/tools/linguist/shared/profileevaluator.cpp b/tools/linguist/shared/profileevaluator.cpp
index 14355b3..5c83f7e 100644
--- a/tools/linguist/shared/profileevaluator.cpp
+++ b/tools/linguist/shared/profileevaluator.cpp
@@ -367,6 +367,9 @@ void ProFileEvaluator::Private::insertVariable(const QString &line, int *i)
{
ProVariable::VariableOperator opkind;
+ if (m_proitem.isEmpty()) // Line starting with '=', like a conflict marker
+ return;
+
switch (m_proitem.at(m_proitem.length() - 1).unicode()) {
case '+':
m_proitem.chop(1);
@@ -2022,7 +2025,13 @@ ProFile *ProFileEvaluator::parsedProFile(const QString &fileName)
{
QFileInfo fi(fileName);
if (fi.exists()) {
- ProFile *pro = new ProFile(fi.absoluteFilePath());
+ QString fn = QDir::cleanPath(fi.absoluteFilePath());
+ foreach (const ProFile *pf, d->m_profileStack)
+ if (pf->fileName() == fn) {
+ errorMessage(d->format("circular inclusion of %1").arg(fn));
+ return 0;
+ }
+ ProFile *pro = new ProFile(fn);
if (d->read(pro))
return pro;
delete pro;
diff --git a/tools/linguist/shared/translatormessage.h b/tools/linguist/shared/translatormessage.h
index 7d31925..9f847b0 100644
--- a/tools/linguist/shared/translatormessage.h
+++ b/tools/linguist/shared/translatormessage.h
@@ -195,12 +195,12 @@ struct TranslatorMessagePtr {
Q_DECLARE_TYPEINFO(TranslatorMessagePtr, Q_MOVABLE_TYPE);
-static inline int qHash(TranslatorMessagePtr tmp)
+inline int qHash(TranslatorMessagePtr tmp)
{
return qHash(*tmp.ptr);
}
-static inline bool operator==(TranslatorMessagePtr tmp1, TranslatorMessagePtr tmp2)
+inline bool operator==(TranslatorMessagePtr tmp1, TranslatorMessagePtr tmp2)
{
return *tmp1.ptr == *tmp2.ptr;
}