aboutsummaryrefslogtreecommitdiffstats
path: root/typedatabase.cpp
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2010-04-30 16:01:29 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-09 19:10:01 -0300
commit30c35ad08eb0610caf37d343e7bd0dda7820cf4d (patch)
tree788d7e7a457324288dcd84d109bc70b73eaf1194 /typedatabase.cpp
parentffae84ae273f46916d1898ade33c1728f324c707 (diff)
Fixed QFlags lookup.
Diffstat (limited to 'typedatabase.cpp')
-rw-r--r--typedatabase.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/typedatabase.cpp b/typedatabase.cpp
index ea009eb32..c4266a83e 100644
--- a/typedatabase.cpp
+++ b/typedatabase.cpp
@@ -240,7 +240,19 @@ bool TypeDatabase::isFieldRejected(const QString& className, const QString& fiel
FlagsTypeEntry* TypeDatabase::findFlagsType(const QString &name) const
{
FlagsTypeEntry* fte = (FlagsTypeEntry*) findType(name);
- return fte ? fte : (FlagsTypeEntry*) m_flagsEntries.value(name);
+ if (!fte) {
+ fte = (FlagsTypeEntry*) m_flagsEntries.value(name);
+ if (!fte) {
+ //last hope, search for flag without scope inside of flags hash
+ foreach(QString key, m_flagsEntries.keys()) {
+ if (key.endsWith(name)) {
+ fte = (FlagsTypeEntry*) m_flagsEntries.value(key);
+ break;
+ }
+ }
+ }
+ }
+ return fte;
}
AddedFunctionList TypeDatabase::findGlobalUserFunctions(const QString& name) const