aboutsummaryrefslogtreecommitdiffstats
path: root/typedatabase.cpp
diff options
context:
space:
mode:
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