diff --git a/src/plugins/cppeditor/cpptypehierarchy.cpp b/src/plugins/cppeditor/cpptypehierarchy.cpp index f74c35576dd..39d2705cf42 100644 --- a/src/plugins/cppeditor/cpptypehierarchy.cpp +++ b/src/plugins/cppeditor/cpptypehierarchy.cpp @@ -183,24 +183,24 @@ void CppTypeHierarchyWidget::perform() m_inspectedClass->setup(cppClass); QStandardItem *bases = new QStandardItem(tr("Bases")); m_model->invisibleRootItem()->appendRow(bases); - buildHierarchy(*cppClass, bases, true, cppClass->bases); + buildHierarchy(*cppClass, bases, true, &CppClass::bases); QStandardItem *derived = new QStandardItem(tr("Derived")); m_model->invisibleRootItem()->appendRow(derived); - buildHierarchy(*cppClass, derived, true, cppClass->derived); + buildHierarchy(*cppClass, derived, true, &CppClass::derived); m_treeView->expandAll(); } } } -void CppTypeHierarchyWidget::buildHierarchy(const CppClass &cppClass, QStandardItem *parent, bool isRoot, const QList &classes) +void CppTypeHierarchyWidget::buildHierarchy(const CppClass &cppClass, QStandardItem *parent, bool isRoot, const HierarchyMember member) { if (!isRoot) { QStandardItem *item = itemForClass(cppClass); parent->appendRow(item); parent = item; } - foreach (const CppClass &klass, sortClasses(classes)) - buildHierarchy(klass, parent, false, classes); + foreach (const CppClass &klass, sortClasses(cppClass.*member)) + buildHierarchy(klass, parent, false, member); } void CppTypeHierarchyWidget::onItemClicked(const QModelIndex &index) diff --git a/src/plugins/cppeditor/cpptypehierarchy.h b/src/plugins/cppeditor/cpptypehierarchy.h index e54d5a56dc0..f98e7d4ee99 100644 --- a/src/plugins/cppeditor/cpptypehierarchy.h +++ b/src/plugins/cppeditor/cpptypehierarchy.h @@ -75,7 +75,8 @@ private slots: void onItemClicked(const QModelIndex &index); private: - void buildHierarchy(const CppClass &cppClass, QStandardItem *parent, bool isRoot, const QList &classes); + typedef QList CppClass::*HierarchyMember; + void buildHierarchy(const CppClass &cppClass, QStandardItem *parent, bool isRoot, HierarchyMember member); CPPEditorWidget *m_cppEditor; Utils::NavigationTreeView *m_treeView;