diff --git a/src/plugins/nim/editor/nimcompletionassistprovider.cpp b/src/plugins/nim/editor/nimcompletionassistprovider.cpp index f6c891c4b22..6bde1402390 100644 --- a/src/plugins/nim/editor/nimcompletionassistprovider.cpp +++ b/src/plugins/nim/editor/nimcompletionassistprovider.cpp @@ -80,8 +80,8 @@ public: if (!suggest->isReady()) { m_interface = interface; - QObject::connect(suggest, &Suggest::NimSuggest::readyChanged, - this, &NimCompletionAssistProcessor::onNimSuggestReady); + QObject::connect(suggest, &Suggest::NimSuggest::readyChanged, this, + [this, suggest](bool ready) { onNimSuggestReady(suggest, ready); }); } else { doPerform(interface, suggest); } @@ -96,13 +96,11 @@ public: } private: - void onNimSuggestReady(bool ready) + void onNimSuggestReady(Suggest::NimSuggest *suggest, bool ready) { - auto suggest = dynamic_cast(sender()); - QTC_ASSERT(suggest, return); QTC_ASSERT(m_interface, return); - if (!ready || !suggest) { + if (!ready) { m_running = false; setAsyncProposalAvailable(nullptr); } else { diff --git a/src/plugins/nim/editor/nimtexteditorwidget.cpp b/src/plugins/nim/editor/nimtexteditorwidget.cpp index 8f0c517ac71..bb32c79118a 100644 --- a/src/plugins/nim/editor/nimtexteditorwidget.cpp +++ b/src/plugins/nim/editor/nimtexteditorwidget.cpp @@ -93,12 +93,14 @@ void NimTextEditorWidget::findLinkAt(const QTextCursor &c, const Utils::LinkHand m_callback = processLinkCallback; m_request = std::move(request); - QObject::connect(m_request.get(), &NimSuggestClientRequest::finished, this, &NimTextEditorWidget::onFindLinkFinished); + Suggest::NimSuggestClientRequest *req = m_request.get(); + connect(req, &NimSuggestClientRequest::finished, + this, [this, req] { onFindLinkFinished(req); }); } -void NimTextEditorWidget::onFindLinkFinished() +void NimTextEditorWidget::onFindLinkFinished(Suggest::NimSuggestClientRequest *request) { - QTC_ASSERT(m_request.get() == this->sender(), return); + QTC_ASSERT(m_request.get() == request, return); if (m_request->lines().empty()) { m_callback(Utils::Link()); return; diff --git a/src/plugins/nim/editor/nimtexteditorwidget.h b/src/plugins/nim/editor/nimtexteditorwidget.h index 097e81507ca..4dd6f63d565 100644 --- a/src/plugins/nim/editor/nimtexteditorwidget.h +++ b/src/plugins/nim/editor/nimtexteditorwidget.h @@ -36,10 +36,11 @@ public: NimTextEditorWidget(QWidget* parent = nullptr); protected: - void findLinkAt(const QTextCursor &, const Utils::LinkHandler &processLinkCallback, bool resolveTarget, bool inNextSplit); + void findLinkAt(const QTextCursor &, const Utils::LinkHandler &processLinkCallback, + bool resolveTarget, bool inNextSplit); private: - void onFindLinkFinished(); + void onFindLinkFinished(Suggest::NimSuggestClientRequest *request); std::shared_ptr m_request; Utils::LinkHandler m_callback;