diff --git a/lib/sourcesmodel.h b/lib/sourcesmodel.h --- a/lib/sourcesmodel.h +++ b/lib/sourcesmodel.h @@ -88,6 +88,9 @@ void reloadConfiguration(); void setQueryString(const QString& str); void setQueryLimit(int limit); + /** + * Clears the model content and resets the runner context, i.e. no new items will appear. + */ void clear(); bool run(int index); diff --git a/lib/sourcesmodel.cpp b/lib/sourcesmodel.cpp --- a/lib/sourcesmodel.cpp +++ b/lib/sourcesmodel.cpp @@ -237,7 +237,12 @@ void SourcesModel::slotResetTimeout() { if (!m_modelPopulated) { - clear(); + // The old items are still shown, get rid of them + beginResetModel(); + m_matches.clear(); + m_size = 0; + m_duplicates.clear(); + endResetModel(); } }