forked from qt-creator/qt-creator
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 <artem.sokolovskii@qt.io>
This commit is contained in:
@@ -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();
|
||||
|
Reference in New Issue
Block a user