From c3b6d1501c2bb2087274e41f7486d1bfc9721b87 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Tue, 5 Mar 2013 13:47:29 +0100 Subject: [PATCH] C++: Add some QTC_ASSERT guards in CodeAssistPrivate This should prevent a not reproducible crash. Change-Id: I8ebdec02799e1eccd37e918d5ab02a0a7fa5afac Reviewed-by: hjk Reviewed-by: Christian Kandeler Reviewed-by: Eike Ziller --- src/plugins/texteditor/codeassist/codeassistant.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp index 2616924ffc2..878d838e289 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.cpp +++ b/src/plugins/texteditor/codeassist/codeassistant.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -221,7 +222,7 @@ void CodeAssistantPrivate::requestProposal(AssistReason reason, AssistKind kind, IAssistProvider *provider) { - Q_ASSERT(!isWaitingForProposal()); + QTC_ASSERT(!isWaitingForProposal(), return); if (!provider) { if (kind == Completion) { @@ -328,6 +329,7 @@ void CodeAssistantPrivate::displayProposal(IAssistProposal *newProposal, AssistR void CodeAssistantPrivate::processProposalItem(IAssistProposalItem *proposalItem) { + QTC_ASSERT(m_proposal, return); proposalItem->apply(m_textEditor, m_proposal->basePosition()); destroyContext(); process(); @@ -335,6 +337,7 @@ void CodeAssistantPrivate::processProposalItem(IAssistProposalItem *proposalItem void CodeAssistantPrivate::handlePrefixExpansion(const QString &newPrefix) { + QTC_ASSERT(m_proposal, return); const int currentPosition = m_textEditor->position(); m_textEditor->setCursorPosition(m_proposal->basePosition()); m_textEditor->replace(currentPosition - m_proposal->basePosition(), newPrefix); @@ -397,6 +400,7 @@ void CodeAssistantPrivate::notifyChange() stopAutomaticProposalTimer(); if (isDisplayingProposal()) { + QTC_ASSERT(m_proposal, return); if (m_textEditor->position() < m_proposal->basePosition()) { destroyContext(); } else {