diff options
Diffstat (limited to 'src/plugins/cpptools/cpphoverhandler.cpp')
-rw-r--r-- | src/plugins/cpptools/cpphoverhandler.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/cpptools/cpphoverhandler.cpp b/src/plugins/cpptools/cpphoverhandler.cpp index f3831e5394..fab0d83b31 100644 --- a/src/plugins/cpptools/cpphoverhandler.cpp +++ b/src/plugins/cpptools/cpphoverhandler.cpp @@ -165,9 +165,11 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in QTextCursor tc(edit->document()); tc.setPosition(pos); + const Snapshot documents = m_manager->snapshot(); + const int lineNumber = tc.block().blockNumber() + 1; const QString fileName = editor->file()->fileName(); - Document::Ptr doc = m_manager->document(fileName); + Document::Ptr doc = documents.value(fileName); if (doc) { foreach (Document::DiagnosticMessage m, doc->diagnosticMessages()) { if (m.line() == lineNumber) { @@ -212,7 +214,7 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in Symbol *lastSymbol = doc->findSymbolAt(line, column); TypeOfExpression typeOfExpression; - typeOfExpression.setDocuments(m_manager->documents()); + typeOfExpression.setSnapshot(documents); QList<TypeOfExpression::Result> types = typeOfExpression(expression, doc, lastSymbol); if (!types.isEmpty()) { |