@@ -1190,10 +1190,11 @@ static void resolveClassNestingRelations()
1190
1190
++iteration;
1191
1191
struct ClassAlias
1192
1192
{
1193
- ClassAlias (const QCString &name,std::unique_ptr<ClassDef> cd) :
1194
- aliasFullName (name),aliasCd(std::move(cd)) {}
1193
+ ClassAlias (const QCString &name,std::unique_ptr<ClassDef> cd,DefinitionMutable *ctx ) :
1194
+ aliasFullName (name),aliasCd(std::move(cd)), aliasContext(ctx) {}
1195
1195
const QCString aliasFullName;
1196
1196
std::unique_ptr<ClassDef> aliasCd;
1197
+ DefinitionMutable *aliasContext;
1197
1198
};
1198
1199
std::vector<ClassAlias> aliases;
1199
1200
for (const auto &icd : *Doxygen::classLinkedMap)
@@ -1230,9 +1231,8 @@ static void resolveClassNestingRelations()
1230
1231
if (dm)
1231
1232
{
1232
1233
std::unique_ptr<ClassDef> aliasCd { createClassDefAlias (d,cd) };
1233
- dm->addInnerCompound (aliasCd.get ());
1234
1234
QCString aliasFullName = d->qualifiedName ()+" ::" +aliasCd->localName ();
1235
- aliases.push_back (ClassAlias (aliasFullName,std::move (aliasCd)));
1235
+ aliases.push_back (ClassAlias (aliasFullName,std::move (aliasCd),dm ));
1236
1236
// printf("adding %s to %s as %s\n",qPrint(aliasCd->name()),qPrint(d->name()),qPrint(aliasFullName));
1237
1237
}
1238
1238
}
@@ -1255,7 +1255,11 @@ static void resolveClassNestingRelations()
1255
1255
// add aliases
1256
1256
for (auto &alias : aliases)
1257
1257
{
1258
- Doxygen::classLinkedMap->add (alias.aliasFullName ,std::move (alias.aliasCd ));
1258
+ ClassDef *aliasCd = Doxygen::classLinkedMap->add (alias.aliasFullName ,std::move (alias.aliasCd ));
1259
+ if (aliasCd)
1260
+ {
1261
+ alias.aliasContext ->addInnerCompound (aliasCd);
1262
+ }
1259
1263
}
1260
1264
}
1261
1265
0 commit comments