Editor: make sure to cleanup select all future watcher

Change-Id: I39e1bc7926905684601eb72cdd7a4357c708c432
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
David Schulz
2022-02-18 08:59:27 +01:00
parent 61d5bbbdad
commit 844a5e624a

View File

@@ -835,6 +835,8 @@ public:
setMultiTextCursorProvider([editor]() { return editor->multiTextCursor(); }); setMultiTextCursorProvider([editor]() { return editor->multiTextCursor(); });
} }
~TextEditorWidgetFind() override { cancelCurrentSelectAll(); }
bool supportsSelectAll() const override { return true; } bool supportsSelectAll() const override { return true; }
void selectAll(const QString &txt, FindFlags findFlags) override; void selectAll(const QString &txt, FindFlags findFlags) override;
@@ -858,6 +860,8 @@ void TextEditorWidgetFind::selectAll(const QString &txt, FindFlags findFlags)
connect(m_selectWatcher, &QFutureWatcher<Utils::FileSearchResultList>::finished, connect(m_selectWatcher, &QFutureWatcher<Utils::FileSearchResultList>::finished,
this, [this]() { this, [this]() {
const QFuture<FileSearchResultList> future = m_selectWatcher->future(); const QFuture<FileSearchResultList> future = m_selectWatcher->future();
m_selectWatcher->deleteLater();
m_selectWatcher = nullptr;
if (future.resultCount() <= 0) if (future.resultCount() <= 0)
return; return;
const FileSearchResultList &results = future.result(); const FileSearchResultList &results = future.result();