diff options
author | Jørgen Lind <jorgen.lind@nokia.com> | 2009-09-14 13:37:02 (GMT) |
---|---|---|
committer | Jørgen Lind <jorgen.lind@nokia.com> | 2009-09-14 13:57:53 (GMT) |
commit | 332ed8a32fa25a12f5316bb0420284c0e3e6fe43 (patch) | |
tree | 4ed85b038af6ff38d1279049c91e9296b4547647 /src/gui/text/qtextengine.cpp | |
parent | dd24168d42df7b474c0fbc9cd943b0556cb4a25f (diff) | |
download | Qt-332ed8a32fa25a12f5316bb0420284c0e3e6fe43.zip Qt-332ed8a32fa25a12f5316bb0420284c0e3e6fe43.tar.gz Qt-332ed8a32fa25a12f5316bb0420284c0e3e6fe43.tar.bz2 |
If the font does not exist, then the right bearing becomes to big
In the QPF1 engine if the font does not exist, then the default
constructor of glyph_metrics_t is used which sets the x and y values to
the unlikely value of 100000. These glyph_metrics_t instances are not
suppose to be used in the text layout calculations.
Task-number: pending
Diffstat (limited to 'src/gui/text/qtextengine.cpp')
-rw-r--r-- | src/gui/text/qtextengine.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index 88837ca..b43bd06 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -1645,7 +1645,8 @@ glyph_metrics_t QTextEngine::boundingBox(int from, int len) const glyph_t glyph = glyphs.glyphs[logClusters[pos + ilen - 1]]; glyph_metrics_t gi = fe->boundingBox(glyph); - gm.width -= qRound(gi.xoff - gi.x - gi.width); + if (gi.isValid()) + gm.width -= qRound(gi.xoff - gi.x - gi.width); } } return gm; |