diff options
author | Renato Araujo Oliveira Filho <renato.filho@openbossa.org> | 2011-01-05 17:07:59 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-09 19:10:13 -0300 |
commit | f5fb9ef30e72c3609e62034bdef3029abf9d2daf (patch) | |
tree | bd357471972821629056537c9d8acc7d339ee6cb | |
parent | b6fdc5e8e6555aa7ee2cfe709fc68725ddc68ea4 (diff) |
Fixed polymorphic value for classes.sb-0.9.2
Fixes bug #587.
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org>
Hugo Parente Lima <hugo.pl@gmail.com>
-rw-r--r-- | abstractmetabuilder.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/abstractmetabuilder.cpp b/abstractmetabuilder.cpp index 780ea7009..ea1fed6b0 100644 --- a/abstractmetabuilder.cpp +++ b/abstractmetabuilder.cpp @@ -2778,6 +2778,10 @@ AbstractMetaClassList AbstractMetaBuilder::classesTopologicalSorted(const Abstra AbstractMetaClassList bases = getBaseClasses(clazz); foreach(AbstractMetaClass* baseClass, bases) { + // Fix polymorphic expression + if (clazz->baseClass() == baseClass) + clazz->setBaseClass(baseClass); + if (map.contains(baseClass->qualifiedCppName())) graph.addEdge(map[baseClass->qualifiedCppName()], map[clazz->qualifiedCppName()]); } |