X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fstyle.cpp;h=dd81692823123f0b45c055ebe1da5f0cb3af22ca;hb=5baec7f2ec5b05a6781f10a30890c65112eef76e;hp=4fd8577b94cda5ae84c71cedb17df3d78684c4cb;hpb=67dd47d09ea3e30da176a174dadae16f475d1e43;p=inkscape.git diff --git a/src/style.cpp b/src/style.cpp index 4fd8577b9..dd8169282 100644 --- a/src/style.cpp +++ b/src/style.cpp @@ -994,13 +994,24 @@ sp_style_merge_property(SPStyle *style, gint id, gchar const *val) /* 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: - 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) { @@ -2197,7 +2208,7 @@ sp_style_merge_ifilter(SPStyle *style, SPIFilter const *parent) 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) {