diff --git a/src/qtgui/rclmain_w.cpp b/src/qtgui/rclmain_w.cpp index 64c5e2bf..5faf40b3 100644 --- a/src/qtgui/rclmain_w.cpp +++ b/src/qtgui/rclmain_w.cpp @@ -752,8 +752,14 @@ void RclMain::periodic100() if (exited) { deleteZ(m_idxproc); if (status) { - QMessageBox::warning(0, "Recoll", - tr("Indexing failed")); + if (m_idxkilled) { + QMessageBox::warning(0, "Recoll", + tr("Indexing interrupted")); + m_idxkilled = false; + } else { + QMessageBox::warning(0, "Recoll", + tr("Indexing failed")); + } } else { // On the first run, show missing helpers. We only do this once if (m_firstIndexing) @@ -825,8 +831,10 @@ void RclMain::toggleIndexing() // Indexing was in progress, request stop. Let the periodic // routine check for the results. int pid = m_idxproc->getChildPid(); - if (pid > 0) + if (pid > 0) { kill(pid, SIGTERM); + m_idxkilled = true; + } } break; case IXST_RUNNINGNOTMINE: diff --git a/src/qtgui/rclmain_w.h b/src/qtgui/rclmain_w.h index 5e6ff8e1..4798c5da 100644 --- a/src/qtgui/rclmain_w.h +++ b/src/qtgui/rclmain_w.h @@ -74,6 +74,7 @@ public: m_toolsTB(0), m_resTB(0), m_filtFRM(0), m_filtCMB(0), m_filtBGRP(0), m_filtMN(0), m_idxproc(0), + m_idxkilled(false), m_catgbutvecidx(0), m_sortspecnochange(false), m_indexerState(IXST_RUNNINGNOTMINE), @@ -197,6 +198,7 @@ private: QFileSystemWatcher m_watcher; vector m_viewers; ExecCmd *m_idxproc; // Indexing process + bool m_idxkilled; // Killed my process map m_stemLangToId; vector m_catgbutvec; int m_catgbutvecidx;