summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sp-ellipse.cpp1
-rw-r--r--src/sp-item.cpp1
-rw-r--r--src/sp-rect.cpp2
3 files changed, 4 insertions, 0 deletions
diff --git a/src/sp-ellipse.cpp b/src/sp-ellipse.cpp
index d74eaa6fb..6fe3a599b 100644
--- a/src/sp-ellipse.cpp
+++ b/src/sp-ellipse.cpp
@@ -369,6 +369,7 @@ static Inkscape::XML::Node *sp_genericellipse_write(SPObject *object, Inkscape::
sp_arc_set_elliptical_path_attribute(SP_ARC(object), object->getRepr());
}
}
+ sp_genericellipse_set_shape ((SPShape *) ellipse); // evaluate SPCurve
if (((SPObjectClass *) ge_parent_class)->write) {
((SPObjectClass *) ge_parent_class)->write(object, xml_doc, repr, flags);
diff --git a/src/sp-item.cpp b/src/sp-item.cpp
index 363aa8c17..a8e525bd5 100644
--- a/src/sp-item.cpp
+++ b/src/sp-item.cpp
@@ -552,6 +552,7 @@ void SPItem::sp_item_set(SPObject *object, unsigned key, gchar const *value)
void SPItem::clip_ref_changed(SPObject *old_clip, SPObject *clip, SPItem *item)
{
+ item->bbox_valid = FALSE; // force a re-evaluation
if (old_clip) {
SPItemView *v;
/* Hide clippath */
diff --git a/src/sp-rect.cpp b/src/sp-rect.cpp
index 22a403345..f33d234ee 100644
--- a/src/sp-rect.cpp
+++ b/src/sp-rect.cpp
@@ -207,6 +207,8 @@ sp_rect_write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML:
sp_repr_set_svg_double(repr, "x", rect->x.computed);
sp_repr_set_svg_double(repr, "y", rect->y.computed);
+ sp_rect_set_shape ((SPShape *) rect); // evaluate SPCurve
+
if (((SPObjectClass *) parent_class)->write)
((SPObjectClass *) parent_class)->write(object, xml_doc, repr, flags);