From 22f929ea3465d6f8ec0e9dcbfff5416512e14c80 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 16 Oct 2012 15:01:07 +0200 Subject: [PATCH] CppTools: Fix recent regression in type hierarchy model Change-Id: I9fe462a61f32884b422ad402b18f17b44b60c7ab Reviewed-by: Orgad Shaneh Reviewed-by: David Schulz --- src/plugins/cppeditor/cpptypehierarchy.cpp | 10 +++++----- src/plugins/cppeditor/cpptypehierarchy.h | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) 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;