summaryrefslogtreecommitdiffstats
path: root/qt/qt-4.7.1-fix-qtbug-15857.patch
blob: 4a0dfb8b1d1ffe3d3ebfa4e57ed9236ccefb1535 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
From 6ae84f1183e91c910ca92a55e37f8254ace805c0 Mon Sep 17 00:00:00 2001
From: Jiang Jiang <jiang.jiang@nokia.com>
Date: Mon, 6 Dec 2010 13:07:36 +0100
Subject: [PATCH] Fix QTextEdit::selectAll crash from textChanged()

Doing selectAll() after the entire block of text has been removed
will cause this crash, because we didn't check if the block we
found is valid or not.

Task-number: QTBUG-15857
Reviewed-by: Eskil
---
 src/gui/text/qtextcursor.cpp |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/gui/text/qtextcursor.cpp b/src/gui/text/qtextcursor.cpp
index 769ab2f..f73cc4b 100644
--- a/src/gui/text/qtextcursor.cpp
+++ b/src/gui/text/qtextcursor.cpp
@@ -363,6 +363,9 @@ bool QTextCursorPrivate::movePosition(QTextCursor::MoveOperation op, QTextCursor
     bool adjustX = true;
     QTextBlock blockIt = block();
 
+    if (!blockIt.isValid())
+        return false;
+
     if (op >= QTextCursor::Left && op <= QTextCursor::WordRight
         && blockIt.textDirection() == Qt::RightToLeft) {
         if (op == QTextCursor::Left)
-- 
1.6.1