Wait for all searches to be finished in d'tors

Task-number: QTCREATORBUG-25792
Change-Id: Idc516324b2a80b9b907cf29ed3df4de86d842266
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Jarek Kobus
2021-05-28 09:43:48 +02:00
parent 4b19decaa7
commit 269f15df6b
4 changed files with 12 additions and 7 deletions

View File

@@ -238,6 +238,7 @@ static bool isGitDirectory(const QString &path)
GitGrep::GitGrep(GitClient *client)
: m_client(client)
{
m_futureSynchronizer.setCancelOnWait(true);
m_widget = new QWidget;
auto layout = new QHBoxLayout(m_widget);
layout->setContentsMargins(0, 0, 0, 0);
@@ -307,7 +308,9 @@ void GitGrep::writeSettings(QSettings *settings) const
QFuture<FileSearchResultList> GitGrep::executeSearch(const TextEditor::FileFindParameters &parameters,
TextEditor::BaseFileFind * /*baseFileFind*/)
{
return Utils::runAsync(GitGrepRunner::run, parameters);
auto future = Utils::runAsync(GitGrepRunner::run, parameters);
m_futureSynchronizer.addFuture(future);
return future;
}
IEditor *GitGrep::openEditor(const SearchResultItem &item,