summaryrefslogtreecommitdiffstats
path: root/src/sp-clippath.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sp-clippath.cpp')
-rw-r--r--src/sp-clippath.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/sp-clippath.cpp b/src/sp-clippath.cpp
index 147ece167..48e466628 100644
--- a/src/sp-clippath.cpp
+++ b/src/sp-clippath.cpp
@@ -89,6 +89,7 @@ void SPClipPath::build(SPObject *object, SPDocument *document, Inkscape::XML::No
if (((SPObjectClass *) SPClipPathClass::static_parent_class)->build)
((SPObjectClass *) SPClipPathClass::static_parent_class)->build(object, document, repr);
+ object->readAttr( "style" );
object->readAttr( "clipPathUnits" );
/* Register ourselves */
@@ -132,8 +133,13 @@ void SPClipPath::set(SPObject *object, unsigned int key, gchar const *value)
object->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
break;
default:
- if (((SPObjectClass *) SPClipPathClass::static_parent_class)->set) {
- ((SPObjectClass *) SPClipPathClass::static_parent_class)->set(object, key, value);
+ if (SP_ATTRIBUTE_IS_CSS(key)) {
+ sp_style_read_from_object(object->style, object);
+ object->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_STYLE_MODIFIED_FLAG);
+ } else {
+ if (((SPObjectClass *) SPClipPathClass::static_parent_class)->set) {
+ ((SPObjectClass *) SPClipPathClass::static_parent_class)->set(object, key, value);
+ }
}
break;
}
@@ -258,6 +264,7 @@ NRArenaItem *SPClipPath::show(NRArena *arena, unsigned int key)
t[5] = display->bbox.y0;
nr_arena_group_set_child_transform(NR_ARENA_GROUP(ai), &t);
}
+ nr_arena_group_set_style(NR_ARENA_GROUP(ai), this->style);
return ai;
}