Magellan Linux

Annotation of /trunk/qt4/patches/qt-4.8.1-fix-cursortox-crash.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1771 - (hide annotations) (download)
Wed May 9 07:58:18 2012 UTC (12 years, 1 month ago) by niro
File size: 1268 byte(s)
-added upstrean patches for qt-4.8.1
1 niro 1771 Index: fix-cursortox-crash.patch
2     ===================================================================
3     --- fix-cursortox-crash.patch (revision 0)
4     +++ fix-cursortox-crash.patch (arbetskopia)
5     #commit cac12f4592477d99ef6fffaad40345bf85ef53b5
6     #Author: Jiang Jiang <jiang.jiang@nokia.com>
7     #Date: Mon Apr 2 12:32:05 2012 +0200
8     #
9     # Fix a crash in cursorToX() when new block is added
10     #
11     # When an empty new block is being added, the layoutData->memory data
12     # will be 0, thus QTextEngine::attributes() will return 0. We should
13     # only access the attributes pointer when some text actually exist.
14     #
15     # Task-number: QTBUG-24718
16     # Change-Id: I9ce9f7b57bccf24099a02832ce30fb6cebfaad33
17     #
18     diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
19     index ee658d9..16f7150 100644
20     --- a/src/gui/text/qtextlayout.cpp
21     +++ b/src/gui/text/qtextlayout.cpp
22     @@ -2508,6 +2508,10 @@ qreal QTextLine::cursorToX(int *cursorPos, Edge edge) const
23     int pos = *cursorPos;
24     int itm;
25     const HB_CharAttributes *attributes = eng->attributes();
26     + if (!attributes) {
27     + *cursorPos = 0;
28     + return x.toReal();
29     + }
30     while (pos < line.from + line.length && !attributes[pos].charStop)
31     pos++;
32     if (pos == line.from + (int)line.length) {