diff options
| author | popolon.org <popolon@popolon.org> | 2006-10-03 22:17:40 +0000 |
|---|---|---|
| committer | popolon2 <popolon2@users.sourceforge.net> | 2006-10-03 22:17:40 +0000 |
| commit | fcc6eddfd12fb5186746eea057dbf3d1d7fd6f74 (patch) | |
| tree | aa13299314a22ccd2a51fb3dd352289ef8c2c19d /src/splivarot.cpp | |
| parent | undo annotations (diff) | |
| download | inkscape-fcc6eddfd12fb5186746eea057dbf3d1d7fd6f74.tar.gz inkscape-fcc6eddfd12fb5186746eea057dbf3d1d7fd6f74.zip | |
fix bug #1568462 boolean operation remove mask/clip-path
(bzr r1761)
Diffstat (limited to 'src/splivarot.cpp')
| -rw-r--r-- | src/splivarot.cpp | 17 |
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); |
