From 650bc260c6a40fbea034fe3c22c302ed6111d0b9 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 6 Jul 2022 11:27:55 +0200 Subject: [PATCH] ClangdClient: Don't delete an object from its signal handler Delete it later instead. Fixes: QTCREATORBUG-27803 Change-Id: I1108a87bc762a7da690b8999c9e73e127d79d3c4 Reviewed-by: Christian Kandeler --- src/plugins/clangcodemodel/clangdclient.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index e1f0319ff83..08f9f10b1e1 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -1608,7 +1608,7 @@ void ClangdClient::followSymbol(TextDocument *document, d->followSymbol = new ClangdFollowSymbol(this, adjustedCursor, editorWidget, document, callback, openInSplit); connect(d->followSymbol, &ClangdFollowSymbol::done, this, [this] { - delete d->followSymbol; + d->followSymbol->deleteLater(); d->followSymbol = nullptr; }); } @@ -1625,7 +1625,7 @@ void ClangdClient::switchDeclDef(TextDocument *document, const QTextCursor &curs delete d->switchDeclDef; d->switchDeclDef = new ClangdSwitchDeclDef(this, document, cursor, editorWidget, callback); connect(d->switchDeclDef, &ClangdSwitchDeclDef::done, this, [this] { - delete d->switchDeclDef; + d->switchDeclDef->deleteLater(); d->switchDeclDef = nullptr; }); }