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