Code

Warning cleanup.
[inkscape.git] / src / style.cpp
index a5b25e6ffa8a2861e8c3b373a239cdbe69d32a2a..ad4e509f6c0ca9129ebbaa350c9a35b7e16b0c5b 100644 (file)
@@ -2197,7 +2197,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) {
@@ -3849,13 +3849,15 @@ sp_style_set_property_url (SPObject *item, gchar const *property, SPObject *link
 
     if (repr == NULL) return;
 
-    g_return_if_fail(linked != NULL);
-
-    gchar *val = g_strdup_printf("url(#%s)", SP_OBJECT_ID(linked));
-
     SPCSSAttr *css = sp_repr_css_attr_new();
-    sp_repr_css_set_property(css, property, val);
-    g_free(val);
+    if (linked) {
+        gchar *val = g_strdup_printf("url(#%s)", SP_OBJECT_ID(linked));
+        sp_repr_css_set_property(css, property, val);
+        g_free(val);
+    } else {
+        sp_repr_css_unset_property(css, "filter");
+    }
+
     if (recursive) {
         sp_repr_css_change_recursive(repr, css, "style");
     } else {