diff --git a/src/plugins/debugger/sourceutils.cpp b/src/plugins/debugger/sourceutils.cpp index ed480bf3041b70c2c48a0b1e3bade0b44b570239..5c6bf31860a6da947319d563e200e0363d181075 100644 --- a/src/plugins/debugger/sourceutils.cpp +++ b/src/plugins/debugger/sourceutils.cpp @@ -35,11 +35,12 @@ #include #include #include - #include #include #include +#include + #include #include @@ -334,13 +335,14 @@ QString cppExpressionAt(TextEditor::ITextEditor *editor, int pos, if (!plaintext) return QString(); - QString expr = plaintext->textCursor().selectedText(); + QTextCursor tc = plaintext->textCursor(); + QString expr = tc.selectedText(); CppModelManagerInterface *modelManager = CppModelManagerInterface::instance(); if (expr.isEmpty() && modelManager) { - QTextCursor tc(plaintext->document()); + QTextDocument *doc = plaintext->document(); + QTC_ASSERT(doc, return QString()); tc.setPosition(pos); - - const QChar ch = editor->textDocument()->characterAt(pos); + const QChar ch = doc->characterAt(pos); if (ch.isLetterOrNumber() || ch == QLatin1Char('_')) tc.movePosition(QTextCursor::EndOfWord); @@ -350,7 +352,6 @@ QString cppExpressionAt(TextEditor::ITextEditor *editor, int pos, *column = tc.positionInBlock(); *line = tc.blockNumber(); } else { - const QTextCursor tc = plaintext->textCursor(); *column = tc.positionInBlock(); *line = tc.blockNumber(); }