diff options
-rw-r--r-- | abstractmetabuilder.cpp | 6 | ||||
-rw-r--r-- | parser/codemodel.cpp | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/abstractmetabuilder.cpp b/abstractmetabuilder.cpp index 1d1cd07b1..8e0e29cfe 100644 --- a/abstractmetabuilder.cpp +++ b/abstractmetabuilder.cpp @@ -45,6 +45,7 @@ #include <QDir> #include <cstdio> +#include <algorithm> #include "graph.h" static QString stripTemplateArgs(const QString &name) @@ -334,7 +335,10 @@ bool AbstractMetaBuilder::build(QIODevice* input) fixQObjectForScope(types, model_dynamic_cast<NamespaceModelItem>(m_dom)); // Start the generation... - QList<ClassModelItem > typeValues = typeMap.values(); + ClassList typeValues = typeMap.values(); + ClassList::iterator it = std::unique(typeValues.begin(), typeValues.end()); + typeValues.erase(it, typeValues.end()); + ReportHandler::setProgressReference(typeValues); foreach (ClassModelItem item, typeValues) { ReportHandler::progress("Generating class model for %s", qPrintable(item->name())); diff --git a/parser/codemodel.cpp b/parser/codemodel.cpp index ecc8e3036..861a6708c 100644 --- a/parser/codemodel.cpp +++ b/parser/codemodel.cpp @@ -24,6 +24,7 @@ #include "codemodel.h" +#include <algorithm> // --------------------------------------------------------------------------- CodeModel::CodeModel() @@ -371,7 +372,10 @@ FunctionModelItem _ScopeModelItem::declaredFunction(FunctionModelItem item) ClassList _ScopeModelItem::classes() const { - return _M_classes.values(); + ClassList result = _M_classes.values(); + ClassList::iterator it = std::unique(result.begin(), result.end()); + result.erase(it, result.end()); + return result; } TypeAliasList _ScopeModelItem::typeAliases() const |