summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sp-ellipse.cpp22
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)