Connectors between groups act weird

Bug #168360 reported by Bug Importer
38
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Medium
Michael Wybrow
inkscape (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Connectors between objects act weird when I make two "connector points" between two objects. It is not possible to create ordinary connectors in that document any longer. They are all misaligned.
The only workaround is to create a new document, cut and paste everything into that one and continue using that document instead.

The attached file illustrates this quite clearly.

Tags: connectors
Revision history for this message
Bug Importer (bug-importer) wrote :
Revision history for this message
Bug Importer (bug-importer) wrote :

I've just had some similar connector issues myself. I made a horizontal
flow chart of sorts with them, and the connectors were positioned just
fine. But then for no apparent reason the 'glue point' seems to shift to
the bottom of the connected objects (whether they are groups or not).
Deleting the connectors and redrawing them just causes them to be
misaligned again. I had to delete the connectors, copy the non-connected
objects to a new doc, redo the connectors, and then copy the whole back
again.

Changed in inkscape:
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Fabus (fabian-gebert-hh) wrote :

I just have the same issue as Bug Importer.
The funny thing is that it works perfectly well if you just cut and paste the content into a new document, as you've stated. Once created a fresh file with that content, you can continue to work on it. Anyway, should be fixed.
See attached for another example.

Fabus (fabian-gebert-hh)
description: updated
Revision history for this message
Erich Cordoba (ericho) wrote :

I have de same problem. If i use the version downloaded from the official site of inkscape to open the document, the program works fine and the connectors are positioned correctly.

Revision history for this message
quazgar (quazgar) wrote :

I get a very similar behaviour, probably the same bug, when connecting objects _within_ a group. At least there's a workaround that works in most cases: Select the group, ungroup it, and group it again. This is another hint that the reason might lie within some wrongly handled transform attributes.

Daniel T Chen (crimsun)
Changed in inkscape:
status: New → Confirmed
Revision history for this message
gag_halfrunt (gag-halfrunt) wrote :

It always happens after I change the paper size to the size of the selection ("document properties" | "fit page to selection"). I'm using Inkscape 0.46, built Mar 28 2009 on Debian testing/squeeze.

Revision history for this message
Martin Stolle (martin-stolle) wrote :

So apparently transforms of parent objects are not taken into account. So if you put two objects inside a group and then move or scale the group, the connectors inside get wacko (if they need to be recomputed).

By ungrouping and regrouping the items, the parent transform gets reset (ungrouping applied the group's transform to the individual objects and the re-grouped group has again an identity transform).

Unfortunately, I am not an inkscape hacker, but hopefully this should give precise enough information to have this long-standing bug fixed?

Martin

Revision history for this message
gag_halfrunt (gag-halfrunt) wrote :

Transformations of the objects, even if they are grouped together, are working properly. But the problem arises if the origin of the drawing (caused by the resizing of the page) changes.

Unfortunately ungrouping and regrouping doesn't fix the problem. Even the restoration of the original page size doesn't help. Obviously the code contains an arithmetic error which is not reversable. The only workaround is to cut and paste the objects into an empty document, as previous posters mentioned already.

It would be great if this bug could be fixed any time soon. Because I very often export Inkscape drawings, that are supposed to be parts of OpenOffice-documentations, as portable network graphics (.png). To avoid big blank areas around the drawing I always reduce the page size to its extents before I do the export. Of course I could export the drawing as a selection in order to get the same result, but then the export dialog suggest an automatically generated filename instead of the one the drawing already has only with a different extension.

However, Inkscape is a very good and precise vector graphics design tool that dramatically increases my productivity and it is extremely intuitive to use. Another big plus is of course, that Inkscape is running on multiple platforms. So many, many thanks to the whole Inkscape team for their valuable work.

Revision history for this message
Martin Stolle (martin-stolle) wrote :

I must have been unclear. Not the transformation of the objects is a problem, but the transformation of ANY of the parent (enclosing) objects. This includes any group the objects are in and presumable a transformation of the whole document as you describe as well.

To undo the problem you are seeing (which cannot be solved by grouping/ungrouping), try using the XML editor and removing any transform-attributes on the layer/root nodes.

Martin

Revision history for this message
gag_halfrunt (gag-halfrunt) wrote :

I don't agree. I can transform (rotate, resize, ...) any group of objects, even nested ones, without having their connectors messed up. For me the only way to produce the problem is to change the extents of the enclosing page.

However, the presumptions made in this thread should guide the developers quite near the lines of code where the problem ocurs.

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

A pre-release of the upcoming Inkscape 0.47 is now available in Ubuntu
Karmic for testing. Because *so* much stuff has changed compared with
the version you reported your bug against, would you mind re-testing
this new version and see if this bug is now resolved?

Karmic Alpha CD ISO images are available at:

  http://cdimage.ubuntu.com/releases/karmic/

If you're not testing Karmic yet, there are .debs of this new Inkscape
for Jaunty, Hardy, and Intrepid here:

  https://launchpad.net/~inkscape.testers/+archive/ppa

You might find further bugs when testing this alpha release. If that is
the case, please file a NEW bug report here:

   https://edge.launchpad.net/inkscape/+filebug

Thanks ahead of time for your testing efforts, and enjoy the new Inkscape!

Changed in inkscape (Ubuntu):
status: Confirmed → New
status: New → Incomplete
Revision history for this message
Michael Wybrow (mjwybrow) wrote :

No need to reconfirm the bug exists -- it definitely still exists in SVN head. I've been looking at it the last few days.

It is actually two bugs:
 - The transform code is incorrect when clipping connector endpoints with some particular set of transforms applied to the ancestors.
 - Transforms of group objects currently have no mechanism in Inkscape to alert the child objects that they have effectively moved.

The first one should be relatively easy to fix.

The second one is currently achieved for things like patterns and gradients in an ad hoc fashion. Something similar will need to be done for connectors.

I'm working on it.

Revision history for this message
Alex Valavanis (valavanisalex) wrote :

Still exists upstream (see previous post) so confirmed in ubuntu too

Changed in inkscape (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Alex Valavanis (valavanisalex) wrote :

I can't reproduce this in Inkscape 0.47 (Ubuntu lucid alpha 3). Is it fair to assume that this has been fixed now?

Changed in inkscape (Ubuntu):
status: Confirmed → Incomplete
Changed in inkscape:
status: Confirmed → Incomplete
Revision history for this message
quazgar (quazgar) wrote :

While the problem doesn't exist any more in its original form (the connectors are alright now), transformed groups (i.e. ones with a "transform" attribute) still have a minor issue.

In case this should still count as the same bug:

When editing a connection that was created before the group was transformed (scaled or translated), the (red) preview line still assumes the group's object's old positions. As an example, enter the group in my old example (comment #4) and try to edit the connection line.

Newly created connections (after the group was transformed) seem to get an extra transform attribute which prevents this odd behaviour.

Revision history for this message
Alex Valavanis (valavanisalex) wrote :

@rubik-cube:

Thanks for the feedback. I can confirm the same behaviour you are describing. I think it would be best if we close this report, because the original bug (as described) no longer exists. I'll create a new bug report to handle the preview line issue.

Changed in inkscape (Ubuntu):
status: Incomplete → Fix Released
Changed in inkscape:
status: Incomplete → Fix Released
Revision history for this message
Alex Valavanis (valavanisalex) wrote :

Bug #533897 created to deal with the misplaced preview line

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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