Connectors don't correctly connect to group with preserved transform

Migrated from: https://bugs.launchpad.net/inkscape/+bug/617810

Steps to reproduce:

  • open Inkscape
  • create an ellipse
  • flip it vertically to create a transform attribute
  • group the ellipse
  • create a second object
  • connect the (grouped) ellipse with the second object using the connector tool
  • move the ellipse around

What happened?

The connector doesn't stay connected to the ellipse.

What should have happened?

The connector stays connected to the ellipse.

Inkscape Version and Operating System:

  • Inkscape Version: 1.1-dev (12e2a09, 2020-02-19)
  • Operating System: Windows 10
  • Operating System version: 10.0.18362

Replicated since Inkscape 0.47, apparently a regression from 0.46.

Sample file from Launchpad with different test cases:

617810-connector-matrix-transform-inside-group-1.svg

The error in Inkscape 0.47 seems to be in incorrectly handling nested preserved transformations (the group as well as its child each have an explicit 'transform' attribute). Once I converted the child of each group to a path and forced Inkscape to rewrite its path data (the transformation is now 'optimized' and stored in the node coordinates), the connectors in 0.47 behave like in 0.46 when moving a group with an attached connector

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information