[patch] Path combine (and other operations) lose transform

Bug #168127 reported by Pieter van Oostrum
2
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Critical
Johan Engelen

Bug Description

When doing a Path->Combine on paths which have a transform attribute, the
transform gets lost. Also the undo fails to reset the transform.

Moreover (this may be a different bug) the transform can get lost when
saving the file.

See the attacht svg file.

1a. Select the two letters, Ungroup, Path->Combine. The combined path will
be reflected and translated (the transform disappears).
1b. Now Undo. The combined path is split again but the transform isn't
applied, so the two paths remain at the wrong location.

2. From the original file, Ungroup, and Save the drawing. Now reopen it.
The transform has disappeared, so the letters are reflected and in the
wrong location.

Revision history for this message
Pieter van Oostrum (pietvo) wrote :
Revision history for this message
Pieter van Oostrum (pietvo) wrote :

Originator: YES

By the way, this applies to inkscape SVN

Revision history for this message
Pieter van Oostrum (pietvo) wrote :

Originator: YES

Please upload an example file with 1-2-3 steps to reproduce your
problem, and tell us your inkscape and OS version. I hope you
understand we cannot help you without this information.

Revision history for this message
Pieter van Oostrum (pietvo) wrote :

Originator: YES

I have investigated the situation a bit more and I think I have found the
problem. It looks like the problem is not in the path combine operator but
in the ungroup operation. And it occurs when the global Transforms 'Store
transformation' option is set to 'optimized'.

In the original file the group containing the two letters has a transform
attribute. When the group is ungrouped the transform operation is put as
attribute in the members of the group. In the 'optimized' case the
transformation is also applied to the coordinates of the members and then
the transformation in the object is replaced by the identity transform.
However the original transform stays in the XML representation. A call to
updateRepr() solves it.

Revision history for this message
Bryce Harrington (bryce) wrote :

Originator: NO

Hi pietvo, thanks for the patch!

Revision history for this message
Johan Engelen (johanengelen) wrote :

Originator: NO

I had the same bug and fixed this one another way. Too bad I did not see
your patch :( I posted the fix to the mailinglist, but it did not count
for the bughunt score for 0.45 because it was not in the tracker!

In any case, I think my fix is a lil better ;) :P (a sideeffect was that
it removed a 'fixme' from the code elsewhere).
Thanks! (and I'll check the bugtracker more often :S)

Revision history for this message
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu ISO testing tracker.

A list of all reports related to this bug can be found here:
http://iso.qa.ubuntu.com/qatracker/reports/bugs/168127

tags: added: iso-testing
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.