Code

Probably a fix for [ 1665735 ] [ 1673205 ] [ 1667584 ]. Testing required though.
authorjohanengelen <johanengelen@users.sourceforge.net>
Sun, 4 Mar 2007 23:10:23 +0000 (23:10 +0000)
committerjohanengelen <johanengelen@users.sourceforge.net>
Sun, 4 Mar 2007 23:10:23 +0000 (23:10 +0000)
src/gradient-chemistry.cpp

index c49eaab18ff7ec8902631487e14eb274cffd64f7..98329019ea3f3664fdc68e0f05f47f3b80d19672 100644 (file)
@@ -798,8 +798,8 @@ sp_item_gradient_set_coords (SPItem *item, guint point_type, guint point_i, NR::
             {                              
                 // using X-coordinates only to determine the offset, assuming p has been snapped to the vector from begin to end.
                 double offset = get_offset_between_points (p, NR::Point(lg->x1.computed, lg->y1.computed), NR::Point(lg->x2.computed, lg->y2.computed));
-                lg->vector.stops.at(point_i).offset = offset;
                 SPGradient *vector = sp_gradient_get_vector (lg, false);
+                vector->vector.stops.at(point_i).offset = offset;
                 SPStop* stopi = sp_get_stop_i(vector, point_i);
                 stopi->offset = offset;
                 if (write_repr) {
@@ -892,8 +892,8 @@ sp_item_gradient_set_coords (SPItem *item, guint point_type, guint point_i, NR::
                 NR::Point start = NR::Point (rg->cx.computed, rg->cy.computed);
                 NR::Point end   = NR::Point (rg->cx.computed + rg->r.computed, rg->cy.computed);
                 double offset = get_offset_between_points (p, start, end);
-                rg->vector.stops.at(point_i).offset = offset;
                 SPGradient *vector = sp_gradient_get_vector (rg, false);
+                vector->vector.stops.at(point_i).offset = offset;
                 SPStop* stopi = sp_get_stop_i(vector, point_i);
                 stopi->offset = offset;
                 if (write_repr) {
@@ -907,8 +907,8 @@ sp_item_gradient_set_coords (SPItem *item, guint point_type, guint point_i, NR::
                 NR::Point start = NR::Point (rg->cx.computed, rg->cy.computed);
                 NR::Point end   = NR::Point (rg->cx.computed, rg->cy.computed - rg->r.computed);
                 double offset = get_offset_between_points (p, start, end);
-                rg->vector.stops.at(point_i).offset = offset;
                 SPGradient *vector = sp_gradient_get_vector (rg, false);
+                vector->vector.stops.at(point_i).offset = offset;
                 SPStop* stopi = sp_get_stop_i(vector, point_i);
                 stopi->offset = offset;
                 if (write_repr) {