diff options
Diffstat (limited to 'typedatabase.cpp')
-rw-r--r-- | typedatabase.cpp | 14 |
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 |