X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/652d08c9242ed51d86dba3b2afda9d3b2e9a9cd7..1ae377cd6ced8477fe235ca6a8006fef91e1fc33:/src/views/dolphinviewcontroller.cpp diff --git a/src/views/dolphinviewcontroller.cpp b/src/views/dolphinviewcontroller.cpp index 6ef32f07f..6e2570007 100644 --- a/src/views/dolphinviewcontroller.cpp +++ b/src/views/dolphinviewcontroller.cpp @@ -128,7 +128,9 @@ QList DolphinViewController::versionControlActions(const KFileItemList void DolphinViewController::handleKeyPressEvent(QKeyEvent* event) { - Q_ASSERT(m_itemView != 0); + if (m_itemView == 0) { + return; + } const QItemSelectionModel* selModel = m_itemView->selectionModel(); const QModelIndex currentIndex = selModel->currentIndex(); @@ -194,12 +196,16 @@ void DolphinViewController::emitItemTriggered(const KFileItem& item) KFileItem DolphinViewController::itemForIndex(const QModelIndex& index) const { - Q_ASSERT(m_itemView != 0); + if (m_itemView != 0) { + QAbstractProxyModel* proxyModel = static_cast(m_itemView->model()); + if (proxyModel != 0) { + KDirModel* dirModel = static_cast(proxyModel->sourceModel()); + const QModelIndex dirIndex = proxyModel->mapToSource(index); + return dirModel->itemForIndex(dirIndex); + } + } - QAbstractProxyModel* proxyModel = static_cast(m_itemView->model()); - KDirModel* dirModel = static_cast(proxyModel->sourceModel()); - const QModelIndex dirIndex = proxyModel->mapToSource(index); - return dirModel->itemForIndex(dirIndex); + return KFileItem(); } void DolphinViewController::triggerItem(const QModelIndex& index) @@ -208,7 +214,7 @@ void DolphinViewController::triggerItem(const QModelIndex& index) const KFileItem item = itemForIndex(index); if (index.isValid() && (index.column() == KDirModel::Name)) { emit itemTriggered(item); - } else { + } else if (m_itemView != 0) { m_itemView->clearSelection(); emit itemEntered(KFileItem()); }