diff --git a/languages/clang/codecompletion/context.cpp b/languages/clang/codecompletion/context.cpp --- a/languages/clang/codecompletion/context.cpp +++ b/languages/clang/codecompletion/context.cpp @@ -1172,15 +1172,22 @@ } QList overrides; + QList overridesAbstract; for (int i = 0; i < overrideList.count(); i++) { FuncOverrideInfo info = overrideList.at(i); QString nameAndParams = info.name + QLatin1Char('(') + info.params.join(QStringLiteral(", ")) + QLatin1Char(')'); if(info.isConst) nameAndParams = nameAndParams + QLatin1String(" const"); if(info.isVirtual) nameAndParams = nameAndParams + QLatin1String(" = 0"); - overrides << CompletionTreeItemPointer(new OverrideItem(nameAndParams, info.returnType)); + + auto item = CompletionTreeItemPointer(new OverrideItem(nameAndParams, info.returnType)); + if (info.isVirtual) + overridesAbstract << item; + else + overrides << item; } + eventuallyAddGroup(i18n("Abstract Override"), 0, overridesAbstract); eventuallyAddGroup(i18n("Virtual Override"), 0, overrides); }