summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-07-14 09:35:11 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-07-14 09:35:11 (GMT)
commit58568e9d887460c8be59656bc5aa56dd766cfa4e (patch)
tree0fbd062191d966b7d2d1cc59dcafb9631e02b71f
parent80b91ac5f579b5cc310366fb0ea4aa4c813c04bf (diff)
parent88d6bf04e01f4f006ed2708851e925d59012d591 (diff)
downloadQt-58568e9d887460c8be59656bc5aa56dd766cfa4e.zip
Qt-58568e9d887460c8be59656bc5aa56dd766cfa4e.tar.gz
Qt-58568e9d887460c8be59656bc5aa56dd766cfa4e.tar.bz2
Merge branch 'qt-4.8-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration into master-integration
* 'qt-4.8-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: Fix potential crash when clicking in a text edit Compensate for different rounding rule in CG engine Remove broken link to Symbian.org documentation. Check engine existence before increasing reference count Keep reference count for cached font engines in QTextEngine Optimize text layout. Fix crash when app font is added Backporting fix for QTBUG-18716
-rw-r--r--doc/src/deployment/deployment.qdoc11
-rw-r--r--doc/src/external-resources.qdoc5
-rw-r--r--src/gui/painting/qpainter.cpp10
-rw-r--r--src/gui/text/qtextengine.cpp1
4 files changed, 9 insertions, 18 deletions
diff --git a/doc/src/deployment/deployment.qdoc b/doc/src/deployment/deployment.qdoc
index a359787..a13e2b8 100644
--- a/doc/src/deployment/deployment.qdoc
+++ b/doc/src/deployment/deployment.qdoc
@@ -1555,15 +1555,4 @@
For more information about creating a \c .sis file and installing it to device see also
\l {The Symbian platform - Introduction to Qt#Installing your own applications}{here}.
-
- \section1 Further Reading
-
- This document aims to cover the common case for developers who want to
- deploy Qt applications on devices using the Smart Installer. It does not
- aim to cover every possible way of installing applications, Qt and other
- dependencies on a device.
-
- A wider selection of deployment methods is described in the
- \l{Deploying a Qt Application article} on the Symbian Foundation
- Developer Wiki.
*/
diff --git a/doc/src/external-resources.qdoc b/doc/src/external-resources.qdoc
index 63e11c8..f528bf2 100644
--- a/doc/src/external-resources.qdoc
+++ b/doc/src/external-resources.qdoc
@@ -425,11 +425,6 @@
*/
/*!
- \externalpage http://developer.symbian.org/wiki/index.php/Deploying_a_Qt_Application
- \title Deploying a Qt Application article
-*/
-
-/*!
\externalpage http://www.ecma-international.org/publications/standards/Ecma-262.htm
\title ECMAScript Language Specification
*/
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index 9bd9733..1d10d75 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -6469,10 +6469,16 @@ static void drawTextItemDecoration(QPainter *painter, const QPointF &pos, const
QLineF line(pos.x(), pos.y(), pos.x() + qFloor(width), pos.y());
- const qreal underlineOffset = fe->underlinePosition().toReal();
+ qreal underlineOffset = fe->underlinePosition().toReal();
+ qreal y = pos.y();
+ // compensate for different rounding rule in Core Graphics paint engine,
+ // ideally code like this should be moved to respective engines.
+ if (painter->paintEngine()->type() == QPaintEngine::CoreGraphics) {
+ y = qCeil(y);
+ }
// deliberately ceil the offset to avoid the underline coming too close to
// the text above it.
- const qreal underlinePos = pos.y() + qCeil(underlineOffset);
+ const qreal underlinePos = y + qCeil(underlineOffset);
if (underlineStyle == QTextCharFormat::SpellCheckUnderline) {
underlineStyle = QTextCharFormat::UnderlineStyle(QApplication::style()->styleHint(QStyle::SH_SpellCheckUnderlineStyle));
diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp
index c900918..31d7e8a 100644
--- a/src/gui/text/qtextengine.cpp
+++ b/src/gui/text/qtextengine.cpp
@@ -2890,6 +2890,7 @@ int QTextEngine::positionInLigature(const QScriptItem *si, int end,
}
const HB_CharAttributes *attrs = attributes();
+ logClusters = this->logClusters(si);
clusterLength = getClusterLength(logClusters, attrs, 0, end, glyph_pos, &clusterStart);
if (clusterLength) {