diff options
Diffstat (limited to 'src/display/drawing-text.cpp')
| -rw-r--r-- | src/display/drawing-text.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/display/drawing-text.cpp b/src/display/drawing-text.cpp index 6ec04ca01..46d05d399 100644 --- a/src/display/drawing-text.cpp +++ b/src/display/drawing-text.cpp @@ -122,9 +122,12 @@ unsigned DrawingGlyphs::_updateItem(Geom::IntRect const &/*area*/, UpdateContext */ Geom::OptRect pb; - if(_drawable){ - pb = bounds_exact_transformed(*_font->PathVector(42), ctx.ctm); //we fix to "X" char to allow always a reasonable bbox - pb->expandBy(pb->height()/20.0); //we scale a bit the area to in between char gaps mainly + if (_drawable) { + Geom::PathVector *glyphv = _font->PathVector(42); //we fix to "X" char to allow always a reasonable bbox + if (glyphv && !glyphv->empty()) { + pb = bounds_exact_transformed(*glyphv, ctx.ctm); + pb->expandBy(pb->height()/10.0); //we scale a bit the area to in between char gaps mainly + } } if(!pb){ // Fallback, spaces mostly, this never happendd with fixed gliph Geom::Rect pbigbox(Geom::Point(0.0, _asc*scale_bigbox*0.66),Geom::Point(_width*scale_bigbox, 0.0)); |
