summaryrefslogtreecommitdiff
path: root/src/plugins/debugger/sourceutils.cpp
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2014-05-21 15:03:23 +0200
committerhjk <hjk121@nokiamail.com>2014-05-26 13:21:28 +0200
commit4d2e5a7d4cafb287c548efebb10a140db838cb2d (patch)
treeb56a1ee39b34096acdf2caa38c7823e3d952f59b /src/plugins/debugger/sourceutils.cpp
parent29d0ddf2f2ee81a8cd030e1ab174333e379eb3c5 (diff)
downloadqt-creator-4d2e5a7d4cafb287c548efebb10a140db838cb2d.tar.gz
Debugger: More robust document access in cppExpressionAt
Change-Id: I53658225e001b0568c77f095d18e9452b792c5f9 Reviewed-by: David Schulz <david.schulz@digia.com>
Diffstat (limited to 'src/plugins/debugger/sourceutils.cpp')
-rw-r--r--src/plugins/debugger/sourceutils.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/plugins/debugger/sourceutils.cpp b/src/plugins/debugger/sourceutils.cpp
index ed480bf304..5c6bf31860 100644
--- a/src/plugins/debugger/sourceutils.cpp
+++ b/src/plugins/debugger/sourceutils.cpp
@@ -35,11 +35,12 @@
#include <texteditor/basetexteditor.h>
#include <cpptools/abstracteditorsupport.h>
#include <cpptools/cppprojectfile.h>
-
#include <cpptools/cppmodelmanagerinterface.h>
#include <cplusplus/ExpressionUnderCursor.h>
#include <cplusplus/Overview.h>
+#include <utils/qtcassert.h>
+
#include <QDebug>
#include <string.h>
@@ -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();
}