diff options
author | David Schulz <david.schulz@qt.io> | 2018-03-01 12:33:48 +0100 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2018-03-01 11:47:32 +0000 |
commit | 5e2ad9457f8681aa14b8a2f4029a88c89bbcdbbd (patch) | |
tree | 41f186f792324631fafab0826e7692151abbccc7 /src/plugins/clangcodemodel/clangcurrentdocumentfilter.cpp | |
parent | 35efebf6f8edd67facf93ff0483edcced4d77a90 (diff) |
ClangCodeModel: Fix crash on git diff/show
currentEditorChanged is emitted also for none TextEditors, so
check the qobject casted TextDocument before accessing it.
Change-Id: I57080221bec34b879f21e022029524818ea92569
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/clangcodemodel/clangcurrentdocumentfilter.cpp')
-rw-r--r-- | src/plugins/clangcodemodel/clangcurrentdocumentfilter.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/clangcodemodel/clangcurrentdocumentfilter.cpp b/src/plugins/clangcodemodel/clangcurrentdocumentfilter.cpp index d5a84b611d..adc4507b88 100644 --- a/src/plugins/clangcodemodel/clangcurrentdocumentfilter.cpp +++ b/src/plugins/clangcodemodel/clangcurrentdocumentfilter.cpp @@ -176,11 +176,12 @@ void ClangCurrentDocumentFilter::onCurrentEditorChanged(Core::IEditor *newCurren m_currentEditor = newCurrent; Core::IDocument *document = m_currentEditor->document(); QTC_ASSERT(document, return;); - auto *textDocument = qobject_cast<TextEditor::TextDocument *>(document); - m_currentPath = textDocument->filePath().toString(); - } else { - reset(); + if (auto *textDocument = qobject_cast<TextEditor::TextDocument *>(document)) { + m_currentPath = textDocument->filePath().toString(); + return; + } } + reset(); } } // namespace ClangCodeModel |