X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/307285e9635a4bf584d6e5d7478876b90ef870f0..7eeb8dba6aeba09aa3dfa7fa5f0b00840d4d8317:/src/folderexpander.cpp diff --git a/src/folderexpander.cpp b/src/folderexpander.cpp index 091cd0c2c..a2dfb137b 100644 --- a/src/folderexpander.cpp +++ b/src/folderexpander.cpp @@ -18,10 +18,6 @@ ***************************************************************************/ #include "folderexpander.h" -#include "dolphinview.h" - -#include "settings/dolphinsettings.h" -#include "dolphin_generalsettings.h" #include #include @@ -43,20 +39,15 @@ FolderExpander::FolderExpander(QAbstractItemView *view, QSortFilterProxyModel *p m_autoExpandTriggerTimer(0), m_autoExpandPos() { - // Validation. If these fail, the event filter is never - // installed on the view and the FolderExpander is inactive. if (m_view == 0) { - kWarning() << "Need a view!"; - return; // Not valid. + return; } if (m_proxyModel == 0) { - kWarning() << "Need a proxyModel!"; - return; // Not valid. + return; } - KDirModel *m_dirModel = qobject_cast< KDirModel* >( m_proxyModel->sourceModel() ); + KDirModel *m_dirModel = qobject_cast(m_proxyModel->sourceModel()); if (m_dirModel == 0) { - kWarning() << "Expected m_proxyModel's sourceModel() to be a KDirModel!"; - return; // Not valid. + return; } // Initialise auto-expand timer. @@ -112,7 +103,9 @@ void FolderExpander::autoExpandTimeout() Q_ASSERT(m_dirModel != 0); KFileItem itemToExpand = m_dirModel->itemForIndex(indexToExpand); - if (itemToExpand.isNull()) { + if (itemToExpand.isNull() || itemToExpand == m_dirModel->itemForIndex(QModelIndex())) { + // The second clause occurs when we are expanding the folder represented + // by the view, which is a case we should ignore (#182618). return; } @@ -123,7 +116,7 @@ void FolderExpander::autoExpandTimeout() treeView->setExpanded(proxyIndexToExpand, !treeView->isExpanded(proxyIndexToExpand)); } else { - emit enterDir(proxyIndexToExpand, m_view); + emit enterDir(proxyIndexToExpand); } } }