aboutsummaryrefslogtreecommitdiffstats
path: root/abstractmetalang.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'abstractmetalang.cpp')
-rw-r--r--abstractmetalang.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/abstractmetalang.cpp b/abstractmetalang.cpp
index fe6c6b372..da48a315f 100644
--- a/abstractmetalang.cpp
+++ b/abstractmetalang.cpp
@@ -690,8 +690,9 @@ FunctionModificationList AbstractMetaFunction::modifications(const AbstractMetaC
FunctionModificationList mods;
while (implementor) {
mods += implementor->typeEntry()->functionModifications(minimalSignature());
- if (implementor == implementor->baseClass() || implementor == implementingClass())
- break;
+ if ((implementor == implementor->baseClass()) ||
+ (implementor == implementingClass() && (mods.size() > 0)))
+ break;
implementor = implementor->baseClass();
}
return mods;