index 42b4df5783167973a50bc26f4ec2a3904aff223b..e9192652a63675b2736a02c1e00c1f6dceb8a36a 100644 (file)
--- a/src/gradient-context.cpp
+++ b/src/gradient-context.cpp
} while (!fill_or_stroke && !addknot) ;
if (addknot) {
- SPGradient *vector = sp_gradient_get_vector (gradient, false);
+ SPGradient *vector = sp_gradient_get_forked_vector_if_necessary (gradient, false);
SPStop* prev_stop = sp_first_stop(vector);
SPStop* next_stop = sp_next_stop(prev_stop);
while ( (next_stop) && (next_stop->offset < offset) ) {
}
Inkscape::XML::Node *new_stop_repr = NULL;
- new_stop_repr = SP_OBJECT_REPR(prev_stop)->duplicate();
+ new_stop_repr = SP_OBJECT_REPR(prev_stop)->duplicate(SP_OBJECT_REPR(vector)->document());
SP_OBJECT_REPR(vector)->addChild(new_stop_repr, SP_OBJECT_REPR(prev_stop));
SPStop *newstop = (SPStop *) SP_OBJECT_DOCUMENT(vector)->getObjectByRepr(new_stop_repr);