diff options
| author | Johan B. C. Engelen <jbc.engelen@swissonline.ch> | 2007-02-03 22:45:47 +0000 |
|---|---|---|
| committer | johanengelen <johanengelen@users.sourceforge.net> | 2007-02-03 22:45:47 +0000 |
| commit | cba805c8cd89e304c1d711a19e29547ed8dea48b (patch) | |
| tree | 4a3eff276268a538fc5fd24fee452da4dda019d0 /src/gradient-chemistry.cpp | |
| parent | Gradient tool: moved stop-deletion to ::GrDrag and made it much more robust a... (diff) | |
| download | inkscape-cba805c8cd89e304c1d711a19e29547ed8dea48b.tar.gz inkscape-cba805c8cd89e304c1d711a19e29547ed8dea48b.zip | |
Fork gradientvector upon deletion of stops.
(bzr r2320)
Diffstat (limited to 'src/gradient-chemistry.cpp')
| -rw-r--r-- | src/gradient-chemistry.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/gradient-chemistry.cpp b/src/gradient-chemistry.cpp index bacdfb6aa..78ea13507 100644 --- a/src/gradient-chemistry.cpp +++ b/src/gradient-chemistry.cpp @@ -624,13 +624,11 @@ sp_item_gradient_stop_set_style (SPItem *item, guint point_type, guint point_i, if (!vector) // orphan! return; - - /* - vector = sp_gradient_fork_vector_if_necessary (vector); // TESTJOHAN + + vector = sp_gradient_fork_vector_if_necessary (vector); if ( gradient != vector && gradient->ref->getObject() != vector ) { sp_gradient_repr_set_link(SP_OBJECT_REPR(gradient), vector); } - */ switch (point_type) { case POINT_LG_BEGIN: @@ -1226,6 +1224,18 @@ sp_gradient_vector_for_object(SPDocument *const doc, SPDesktop *const desktop, return sp_document_default_gradient_vector(doc, rgba); } + +SPGradient * +sp_gradient_get_forked_vector_if_necessary(SPGradient *gradient, bool force_vector) +{ + SPGradient *vector = sp_gradient_get_vector (gradient, force_vector); + vector = sp_gradient_fork_vector_if_necessary (vector); + if ( gradient != vector && gradient->ref->getObject() != vector ) { + sp_gradient_repr_set_link(SP_OBJECT_REPR(gradient), vector); + } + return vector; +} + /* Local Variables: mode:c++ |
