summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sigtools/PluginTree.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/sigtools/PluginTree.cpp b/sigtools/PluginTree.cpp
index 9dbc4376..38e9d2f7 100644
--- a/sigtools/PluginTree.cpp
+++ b/sigtools/PluginTree.cpp
@@ -48,12 +48,18 @@ PluginTree::PluginTree(const QStringList& types, QWidget* parent) :
QString PluginTree::currentType() const
{
- return static_cast<PluginTreeModel::ClassData*>(d->m_view->currentIndex().internalPointer())->m_type;
+ QModelIndex index = d->m_view->currentIndex();
+ if (!index.isValid())
+ return QString();
+ return static_cast<PluginTreeModel::ClassData*>(index.internalPointer())->m_type;
}
QString PluginTree::currentName() const
{
- return static_cast<PluginTreeModel::ClassData*>(d->m_view->currentIndex().internalPointer())->m_name;
+ QModelIndex index = d->m_view->currentIndex();
+ if (!index.isValid())
+ return QString();
+ return static_cast<PluginTreeModel::ClassData*>(index.internalPointer())->m_name;
}
PluginTree::Private::Private(const QStringList& types, PluginTree* tree) :