From e4f5a0f50b087f94f4131f384eba8d01e9330a35 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Mon, 15 Jan 2024 15:11:02 +0100 Subject: [PATCH] SyntaxHighlighterRunner: Delete private from the right thread Before we were deleting the SyntaxHighlighterRunnerPrivate from the caller thread. However, in case of ThreadedSyntaxHighlighterRunner the private objects lives in m_thread thread, so delete it from there. Change-Id: I4e6d57ef1840a9d34ce02f2bb4423e9e47550f4d Reviewed-by: Artem Sokolovskii --- src/plugins/texteditor/syntaxhighlighterrunner.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/texteditor/syntaxhighlighterrunner.cpp b/src/plugins/texteditor/syntaxhighlighterrunner.cpp index f99aeaa1430..efced82c5c4 100644 --- a/src/plugins/texteditor/syntaxhighlighterrunner.cpp +++ b/src/plugins/texteditor/syntaxhighlighterrunner.cpp @@ -248,7 +248,7 @@ ThreadedSyntaxHighlighterRunner::ThreadedSyntaxHighlighterRunner(SyntaxHighLight QTC_ASSERT(document, return); d->moveToThread(&m_thread); - connect(&m_thread, &QThread::finished, d.get(), [this] { d.release()->deleteLater(); }); + connect(&m_thread, &QThread::finished, d.get(), &QObject::deleteLater); m_thread.start(); m_document = document; @@ -266,6 +266,7 @@ ThreadedSyntaxHighlighterRunner::ThreadedSyntaxHighlighterRunner(SyntaxHighLight ThreadedSyntaxHighlighterRunner::~ThreadedSyntaxHighlighterRunner() { + d.release(); m_thread.requestInterruption(); m_thread.quit(); m_thread.wait();