diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index f3600352642..19cd4bd5a91 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -1011,9 +1011,10 @@ void ClangdClient::followSymbol(TextDocument *document, : ClangdFollowSymbol::Origin::Code; if (origin == ClangdFollowSymbol::Origin::User) { for (auto it = d->followSymbolOps.begin(); it != d->followSymbolOps.end(); ) { - if ((*it)->isInteractive()) { - (*it)->cancel(); + ClangdFollowSymbol * const followSymbol = *it; + if (followSymbol->isInteractive()) { it = d->followSymbolOps.erase(it); + followSymbol->cancel(); } else { ++it; }