diff --git a/src/style.cpp b/src/style.cpp
index 4fd8577b94cda5ae84c71cedb17df3d78684c4cb..dd81692823123f0b45c055ebe1da5f0cb3af22ca 100644 (file)
--- a/src/style.cpp
+++ b/src/style.cpp
/* SVG */
/* Clip/Mask */
case SP_PROP_CLIP_PATH:
/* SVG */
/* Clip/Mask */
case SP_PROP_CLIP_PATH:
- g_warning("Unimplemented style property SP_PROP_CLIP_PATH: value: %s", val);
+ /** \todo
+ * This is a workaround. Inkscape only supports 'clip-path' as SVG attribute, not as
+ * style property. By having both CSS and SVG attribute set, editing of clip-path
+ * will fail, since CSS always overwrites SVG attributes.
+ * Fixes Bug #324849
+ */
+ g_warning("attribute 'clip-path' given as CSS");
+ style->object->repr->setAttribute("clip-path", val);
break;
case SP_PROP_CLIP_RULE:
g_warning("Unimplemented style property SP_PROP_CLIP_RULE: value: %s", val);
break;
case SP_PROP_MASK:
break;
case SP_PROP_CLIP_RULE:
g_warning("Unimplemented style property SP_PROP_CLIP_RULE: value: %s", val);
break;
case SP_PROP_MASK:
- g_warning("Unimplemented style property SP_PROP_MASK: value: %s", val);
+ /** \todo
+ * See comment for SP_PROP_CLIP_PATH
+ */
+ g_warning("attribute 'mask' given as CSS");
+ style->object->repr->setAttribute("mask", val);
break;
case SP_PROP_OPACITY:
if (!style->opacity.set) {
break;
case SP_PROP_OPACITY:
if (!style->opacity.set) {
style->filter.href->changedSignal().connect(sigc::bind(sigc::ptr_fun(sp_style_filter_ref_changed), style));
}
style->filter.href->changedSignal().connect(sigc::bind(sigc::ptr_fun(sp_style_filter_ref_changed), style));
}
- if (style->filter.href && parent->href) {
+ if (style->filter.href && parent->href && parent->href->getObject()) {
try {
style->filter.href->attach(*parent->href->getURI());
} catch (Inkscape::BadURIException &e) {
try {
style->filter.href->attach(*parent->href->getURI());
} catch (Inkscape::BadURIException &e) {