summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorpopolon.org <popolon@popolon.org>2006-10-03 22:17:40 +0000
committerpopolon2 <popolon2@users.sourceforge.net>2006-10-03 22:17:40 +0000
commitfcc6eddfd12fb5186746eea057dbf3d1d7fd6f74 (patch)
treeaa13299314a22ccd2a51fb3dd352289ef8c2c19d /src
parentundo annotations (diff)
downloadinkscape-fcc6eddfd12fb5186746eea057dbf3d1d7fd6f74.tar.gz
inkscape-fcc6eddfd12fb5186746eea057dbf3d1d7fd6f74.zip
fix bug #1568462 boolean operation remove mask/clip-path
(bzr r1761)
Diffstat (limited to 'src')
-rw-r--r--src/splivarot.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/splivarot.cpp b/src/splivarot.cpp
index 242cf3a24..a0c21d23d 100644
--- a/src/splivarot.cpp
+++ b/src/splivarot.cpp
@@ -432,8 +432,10 @@ sp_selected_path_boolop(bool_op bop, const unsigned int verb, const Glib::ustrin
}
gint pos = repr_source->position();
Inkscape::XML::Node *parent = sp_repr_parent(repr_source);
- char const *id = repr_source->attribute("id");
- char const *style = repr_source->attribute("style");
+ gchar const *id = repr_source->attribute("id");
+ gchar const *style = repr_source->attribute("style");
+ gchar const *mask = repr_source->attribute("mask");
+ gchar const *clip_path = repr_source->attribute("clip-path");
// remove source paths
@@ -487,6 +489,11 @@ sp_selected_path_boolop(bool_op bop, const unsigned int verb, const Glib::ustrin
Inkscape::XML::Node *repr = sp_repr_new("svg:path");
repr->setAttribute("style", style);
+ if (mask)
+ repr->setAttribute("mask", mask);
+ if (clip_path)
+ repr->setAttribute("clip-path", clip_path);
+
repr->setAttribute("d", d);
g_free(d);
@@ -528,6 +535,12 @@ sp_selected_path_boolop(bool_op bop, const unsigned int verb, const Glib::ustrin
Inkscape::XML::Node *repr = sp_repr_new("svg:path");
repr->setAttribute("style", style);
+ if ( mask )
+ repr->setAttribute("mask", mask);
+
+ if ( clip_path )
+ repr->setAttribute("clip-path", clip_path);
+
repr->setAttribute("d", d);
g_free(d);