OSDN Git Service

Fix crash when computing the selection path.
authorChristian Kamm <christian.d.kamm@nokia.com>
Mon, 15 Nov 2010 14:32:46 +0000 (15:32 +0100)
committercon <qtc-committer@nokia.com>
Tue, 16 Nov 2010 09:08:51 +0000 (10:08 +0100)
Task-number: QTCREATORBUG-3097
Reviewed-by: con
src/plugins/texteditor/texteditoroverlay.cpp

index 7ee1175..45a5ddc 100644 (file)
@@ -166,10 +166,12 @@ QPainterPath TextEditorOverlay::createSelectionPath(const QTextCursor &begin, co
 
             int beginChar = 0;
             if (!inSelection) {
-                beginChar = begin.positionInBlock();
-                line = blockLayout->lineForTextPosition(beginChar);
+                if (block == begin.block()) {
+                    beginChar = begin.positionInBlock();
+                    line = blockLayout->lineForTextPosition(beginChar);
+                    firstOrLastBlock = true;
+                }
                 inSelection = true;
-                firstOrLastBlock = true;
             } else {
 //                while (beginChar < block.length() && document->characterAt(block.position() + beginChar).isSpace())
 //                    ++beginChar;