Hi all,
I ran into some unexpected behavior in Inkscape 0.47, running on Ubuntu 9.10 32 bit. When you duplicate and move diagram connectors, they don't move as expected. This happens on diagrams whose page size and/or orientation has been changed, and doesn't happen when the page size and orientation have never been changed.
SYMPTOM REPRODUCTION * Open a new diagram * Create a diagram connector * Click the "select and transform objects" button * File->Document_properties->Page_orientation, change to landscape * Select the diagram connector * Ctrl+D to duplicate * Shift->Right
The Shift->right moves the new connector down instead of right. From my perspective this is unexpected behavior and indeed when the page size is left at default, shift->right moves the connector right as expected.
MECHANISM OF THE ANOMALY When you change the paper orientation, it puts a "transform="translate(0,-308.2677)" attribute within the <g> node of the Inkscape XML. If you remove that attribute, the anomaly goes away. If you put the attribute back, the anomaly returns.
WORKAROUND When starting a new document, do any paper size and orientation settings immediately on the blank diagram, then remove all transform=translate attributes and save. Diagram connectors will then work normally on the drawing as long as the paper size and orientation aren't changed. I have no idea what side-effects this workaround would create, but I haven't observed any.
WHAT I'VE DONE This looks to me to be something like bug number 479553, "Moving shape with connectors, connectors go wild", so I appended my findings to that bug report (https://bugs.launchpad.net/inkscape/+bug/479553).
MY QUESTIONS: * Is this a known problem? * Is anyone working on it? * Is this fixed in later versions than 0.47? * Is this considered a bug? * What side effects occur when deleting transform=translate attributes? * Can anyone else reproduce this behavior? * Is the problem that the transform=translate shouldn't be there, or is the problem that connectors don't properly respond to the transform=translate? * Is there anything I can do to help get this behavior fixed?
Thanks
SteveT
Steve Litt Recession Relief Package http://www.recession-relief.US Twitter: http://www.twitter.com/stevelitt
On Wed, Jun 9, 2010 at 1:06 PM, Steve Litt <slitt@...2357...> wrote:
The Shift->right moves the new connector down instead of right. From my perspective this is unexpected behavior and indeed when the page size is left at default, shift->right moves the connector right as expected.
Yes, this is certainly a bug. Please check if it's in our bug tracker, and add it if not.
On Wednesday 09 June 2010 13:16:14 bulia byak wrote:
On Wed, Jun 9, 2010 at 1:06 PM, Steve Litt <slitt@...2357...>
wrote:
The Shift->right moves the new connector down instead of right. From my perspective this is unexpected behavior and indeed when the page size is left at default, shift->right moves the connector right as expected.
Yes, this is certainly a bug. Please check if it's in our bug tracker, and add it if not.
Thanks Bulia,
It looks something like bug # 479553, "Moving shape with connectors, connectors go wild", but I can't be sure. That's one of the reasons that besides appending it to bug 479553 (https://bugs.launchpad.net/inkscape/+bug/479553), I emailed the list.
Could a few of you please try to reproduce this behavior? There's always a chance I'm just doing something odd and don't know it.
Thanks
SteveT
Steve Litt Recession Relief Package http://www.recession-relief.US Twitter: http://www.twitter.com/stevelitt
On 9/6/10 18:06, Steve Litt wrote:
SYMPTOM REPRODUCTION
- Open a new diagram
- Create a diagram connector
- Click the "select and transform objects" button
- File->Document_properties->Page_orientation, change to landscape
- Select the diagram connector
- Ctrl+D to duplicate
- Shift->Right
The Shift->right moves the new connector down instead of right. From my perspective this is unexpected behavior and indeed when the page size is left at default, shift->right moves the connector right as expected.
[snip]
MY QUESTIONS:
- Is this a known problem?
Yes
- Is anyone working on it?
AFAIK not at the moment
- Is this fixed in later versions than 0.47?
No
- Is this considered a bug?
Yes
- What side effects occur when deleting transform=translate attributes?
Objects inside that layer appear 'misplaced' after removing the layer attribute 'transform' in the XMl Editor - they have been moved back to their position prior to the translation. You will have to reposition them again inside the page margins.
- Can anyone else reproduce this behavior?
Yes
- Is the problem that the transform=translate shouldn't be there, or is the
problem that connectors don't properly respond to the transform=translate?
1) The 'transform' attribute is added because: AFAIU vertically resizing the page or changing the page orientation moves all existing objects to a new location by adding a transform attribute to the top level layers (after changing the dimensions of the page the origin as shown in the Inkscape GUI has a different relative position to the origin of the SVG coordinate system to which all coordinates are transformed to when writing the SVG source).
2) connectors don't properly respond Connectors and other object types (e.g. [tiled] clones, linked offsets of ellipses, stars and spirals) don't behave as expected when inside transformed groups (layer = group).
Some extensions expose similar errors (incorrect handling of (nested) groups with preserved transformations, as exist after page resize or orientation/format change).
- Is there anything I can do to help get this behavior fixed?
Create a patch? ;)
WHAT I'VE DONE This looks to me to be something like bug number 479553, "Moving shape with connectors, connectors go wild", so I appended my findings to that bug report (https://bugs.launchpad.net/inkscape/+bug/479553).
other related reports:
Bug #168360 “Connectors between groups act weird”: https://bugs.launchpad.net/inkscape/+bug/168360
Bug #429926 “Node Connectors in Wrong Positions After Document Resize”: https://bugs.launchpad.net/inkscape/+bug/429926
Bug #479638 “file gets mangled due to Object->UnGroup”: https://bugs.launchpad.net/inkscape/+bug/479638
Bug #533897 “Incorrect preview when editing a connector within a group that has been transformed”: https://bugs.launchpad.net/inkscape/+bug/533897
Bug #552289 “Ungrouping objects changes position of arrow lines”: https://bugs.launchpad.net/inkscape/+bug/552289
Bug #576815 “after resizing document beyond the default A4 page size, moving connectors becomes buggy”: https://bugs.launchpad.net/inkscape/+bug/576815
… and possible others. Most are close or similar, possibly duplicates, describing displaced connectors caused by incorrect handling of transforms of parent groups (or layer).
~suv
participants (3)
-
bulia byak
-
Steve Litt
-
~suv