diff --git a/addons/search/plugin_search.cpp b/addons/search/plugin_search.cpp --- a/addons/search/plugin_search.cpp +++ b/addons/search/plugin_search.cpp @@ -1095,7 +1095,10 @@ m_searchDiskFilesDone = true; m_resultBaseDir.clear(); QList documents; - documents << m_mainWindow->activeView()->document(); + KTextEditor::View *activeView = m_mainWindow->activeView(); + if (activeView) { + documents << activeView->document(); + } addHeaderItem(); m_searchOpenFiles.startSearch(documents, reg); } else if (m_ui.searchPlaceCombo->currentIndex() == OpenFiles) { diff --git a/addons/search/search_open_files.cpp b/addons/search/search_open_files.cpp --- a/addons/search/search_open_files.cpp +++ b/addons/search/search_open_files.cpp @@ -53,7 +53,7 @@ void SearchOpenFiles::doSearchNextFile(int startLine) { - if (m_cancelSearch) { + if (m_cancelSearch || m_nextIndex >= m_docList.size()) { m_nextIndex = -1; m_cancelSearch = true; emit searchDone();