[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - canvas/source
Caolán McNamara
caolanm at redhat.com
Tue Jan 12 08:16:10 PST 2016
canvas/source/cairo/cairo_textlayout.cxx | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
New commits:
commit cfaf07f88332dfe0476d559787c508a1688b5956
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Dec 21 21:21:20 2015 +0000
Resolves: tdf#93703 0 scaling is CAIRO_STATUS_INVALID_MATRIX
so more drawing to the surface fails
prior to 4ac876084bb89b6460b31e090a666b395f66b1e8 we had
a new cairo context each time to the error was thrown away
along with the context and the new one would work
Change-Id: I90ab1a943e8908e87f391bdfb8ccd5f3818e13d5
(cherry picked from commit f22d153a07231f2d41c7be9ba0e6b7ce963a0762)
Reviewed-on: https://gerrit.libreoffice.org/20852
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Michael Stahl <mstahl at redhat.com>
diff --git a/canvas/source/cairo/cairo_textlayout.cxx b/canvas/source/cairo/cairo_textlayout.cxx
index 03d31947..414c29d 100644
--- a/canvas/source/cairo/cairo_textlayout.cxx
+++ b/canvas/source/cairo/cairo_textlayout.cxx
@@ -497,6 +497,14 @@ namespace cairocanvas
if (cairo_glyphs.empty())
continue;
+ vcl::Font aFont = rOutDev.GetFont();
+ long nWidth = aFont.GetWidth();
+ long nHeight = aFont.GetHeight();
+ if (nWidth == 0)
+ nWidth = nHeight;
+ if (nWidth == 0 || nHeight == 0)
+ continue;
+
/**
* Setup font
**/
@@ -548,17 +556,12 @@ namespace cairocanvas
// Font rotation and scaling
cairo_matrix_t m;
- vcl::Font aFont = rOutDev.GetFont();
cairo_matrix_init_identity(&m);
if (aSysLayoutData.orientation)
cairo_matrix_rotate(&m, (3600 - aSysLayoutData.orientation) * M_PI / 1800.0);
- long nWidth = aFont.GetWidth();
- long nHeight = aFont.GetHeight();
- if (nWidth == 0)
- nWidth = nHeight;
cairo_matrix_scale(&m, nWidth, nHeight);
//faux italics
More information about the Libreoffice-commits
mailing list