diff options
-rw-r--r-- | sigtools/PluginTree.cpp | 10 |
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) : |