diff options
Diffstat (limited to 'src/sp-ellipse.cpp')
| -rw-r--r-- | src/sp-ellipse.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/sp-ellipse.cpp b/src/sp-ellipse.cpp index 88fc59f17..dbc5b1407 100644 --- a/src/sp-ellipse.cpp +++ b/src/sp-ellipse.cpp @@ -144,16 +144,18 @@ sp_genericellipse_update(SPObject *object, SPCtx *ctx, guint flags) SPGenericEllipse *ellipse = (SPGenericEllipse *) object; SPStyle const *style = object->style; Geom::OptRect viewbox = ((SPItemCtx const *) ctx)->vp; - double const dx = viewbox->width(); - double const dy = viewbox->height(); - double const dr = sqrt(dx*dx + dy*dy)/sqrt(2); - double const em = style->font_size.computed; - double const ex = em * 0.5; // fixme: get from pango or libnrtype - ellipse->cx.update(em, ex, dx); - ellipse->cy.update(em, ex, dy); - ellipse->rx.update(em, ex, dr); - ellipse->ry.update(em, ex, dr); - sp_shape_set_shape((SPShape *) object); + if (viewbox) { + double const dx = viewbox->width(); + double const dy = viewbox->height(); + double const dr = sqrt(dx*dx + dy*dy)/sqrt(2); + double const em = style->font_size.computed; + double const ex = em * 0.5; // fixme: get from pango or libnrtype + ellipse->cx.update(em, ex, dx); + ellipse->cy.update(em, ex, dy); + ellipse->rx.update(em, ex, dr); + ellipse->ry.update(em, ex, dr); + sp_shape_set_shape((SPShape *) object); + } } if (((SPObjectClass *) ge_parent_class)->update) |
