summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorKhaled Hosny <khaledhosny@eglug.org>2016-11-15 23:36:57 +0200
committerKhaled Hosny <khaledhosny@eglug.org>2016-11-16 01:04:46 +0200
commit26ac0e16f8f2c4d4b0d3a0cd147cef31240f688d (patch)
treeabee3087d4ff8fb63b95e22805a8a3705c2e45cf /vcl
parentc4820366710fcbcc198a5471ad1f4a29f71d2019 (diff)
Fix thinko in previous commit
Negative descender means the glyph is above the baseline and no shift should happen. Change-Id: I0ee3575051e47f16c64db4e85c0b8a390029567f
Diffstat (limited to 'vcl')
-rw-r--r--vcl/unx/generic/gdi/cairotextrender.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/vcl/unx/generic/gdi/cairotextrender.cxx b/vcl/unx/generic/gdi/cairotextrender.cxx
index 574f985f3f85..fbac5f322729 100644
--- a/vcl/unx/generic/gdi/cairotextrender.cxx
+++ b/vcl/unx/generic/gdi/cairotextrender.cxx
@@ -328,7 +328,8 @@ void CairoTextRender::DrawServerFontLayout( const GenericSalLayout& rLayout, con
// the glyph’s baseline.
cairo_text_extents_t aExt;
cairo_glyph_extents(cr, &cairo_glyphs[nStartIndex], nLen, &aExt);
- cairo_glyphs[nStartIndex].y += aExt.x_advance - aExt.height - aExt.y_bearing;
+ double nDescender = std::fmax(aExt.height + aExt.y_bearing, 0);
+ ydiff = (aExt.x_advance - nDescender) / nHeight;
}
else
{