Ungrouping moves clones inside nested groups

Bug #653574 reported by Tuukka Kataja on 2010-10-02
46
This bug affects 9 people
Affects Status Importance Assigned to Milestone
Inkscape
Medium
Mc

Bug Description

When making nested groups with an object and its clones and moving the group, the clone will move unexpectedly when ungrouping the outer group.

I have objects and their clones arranged nicely in a grid. I have multiple such "clusters" made out of different objects. I'm trying to arrange the clusters side by side by making a group out of each of them and then using "Rows and columns" on the groups. Alas, when I ungroup the clusters into individual objects again, all the clones jump out of place.

The same effect occurs even when moving a grouped cluster with the selecion/transform tool, so it's more than "Rows and Columns" acting up.

I'm using Inkscape 0.48 on Ubuntu 10.04.

Steps to reproduce:
1. Create an object (A)
2. Make a clone of the object (clone of A)
3. Make another object (B)
4. Group "clone of A" and "B" together (inner)
5. Group "A" and "inner" together (outer).
6. Move "outer".
7. Ungroup "outer".

The last step makes "clone of A" move according to the move in step 6.

su_v (suv-lp) wrote :

Reproduced with Inkscape 0.48+devel r9802 on OS X 10.5.8

Changed in inkscape:
importance: Undecided → Medium
status: New → Confirmed
su_v (suv-lp) wrote :

Related to or duplicate of

Bug #479638 “file gets mangled due to Object->UnGroup”
<https://bugs.launchpad.net/inkscape/+bug/479638>

tags: added: clones groups transformations
su_v (suv-lp) wrote :

Duplicate status reverted - we have a patch pending which will fix this one, but not bug #479638.

Mc (mc...) wrote :

The attached patch is an attempt to correct this bug by doing the follonwing :

For any clone of a of a descendant of the group, also descendant of the group, cancel the transformation effect.
This replaces and extends the previous part which was doing it for direct children of the group only.

su_v (suv-lp) on 2015-02-11
Changed in inkscape:
assignee: nobody → Mc (mc...)
status: Confirmed → In Progress
Mc (mc...) wrote :

Sorry, fix is incomplete (and wrong) : a good way of solving this should probably be :

-> for each direct children, iterate over all of its clones in the whole document and apply the reverse of the group transform

(but there does not appear to be a simple way to iterate over an object's clones)

Mc (mc...) wrote :

https://bugs.launchpad.net/inkscape/+bug/479638/comments/14 fixes this (although i'm not confident enough to say it will not introduce another bug, i'll need to think on it again)

su_v (suv-lp) on 2015-02-11
Changed in inkscape:
milestone: none → 0.92
su_v (suv-lp) wrote :

Both versions of the proposed fix tested successfully with Inkscape 0.91+devel r13915 on OS X 10.7.5 for
- test case from bug #659452
- steps to reproduce here (bug #653574)

Mc (mc...) wrote :

Got it. order matters.
So, here is a fix that should work in all cases :

jazzynico (jazzynico) wrote :

Patch committed in the trunk, rev. 13924.
Thanks Mc!

Changed in inkscape:
status: In Progress → Fix Committed
jazzynico (jazzynico) wrote :

JFTR, the committed patch is the one from Bug #1245339 "When changing a clone's parent's layer, the clones shift position", comment #7.

su_v (suv-lp) wrote :

Updating milestone (see bug #1245339): trunk r13924 was backported to 0.91.x in r13763.

Changed in inkscape:
milestone: 0.92 → 0.91.1
jazzynico (jazzynico) on 2017-01-28
Changed in inkscape:
milestone: 0.91.1 → 0.92
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers