dynamic, linked offsets applied to clone original - unexpected behavior of clones

Bug #1377689 reported by Brynn on 2014-10-05
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Wishlist
insaner

Bug Description

Hi Friends,
This is in Inkscape 0.48.5, on Win7, 64-bit. Test file is attached. Steps to reproduce and description:

The pink outline (of blue stroked rectangles, with no fills) in the top left corner is the original of the 3 clones. When I select it and do Path menu > Dynamic Offset, all the clones disappear immediately.

Undo.

When I do Path menu > Linked Offset, on the same selected original, the 3 clones remain intact. However, the proper linked offset behavior, when the handle is dragged, only affects the original. The clones are not affected.

Path menu > Inset and Outset, both seem to work as expected.

Sorry I can't add any technical info for you. But since nothing showed up when I searched, I thought I should report it :-)

All best,
brynn

Brynn (brynn4inks) wrote :
summary: - dynamic, linked offsets applied to clone original - wrong behavior
+ dynamic, linked offsets applied to clone original - unexpected behavior
summary: dynamic, linked offsets applied to clone original - unexpected behavior
+ of clones
jazzynico (jazzynico) on 2015-01-11
tags: added: clones shape-editing
jazzynico (jazzynico) wrote :

Confirmed on Windows XP, Inkscape trunk rev. 13847.

Changed in inkscape:
status: New → Confirmed
insaner (insaner) wrote :

confirmed linux fc15, , inkscape r13850

su_v (suv-lp) wrote :

The observed behavior is as expected based on the current implementation details of the various path offset commands and of clones (SVG <use> elements).

Inset/Outset:
* modifies original object (path data)
* object id is unchanged -> clones of the original update based on modified original

Dynamic offset:
* replaces original with new object
* object id is changed -> clones are orphaned (not visibly rendered)

Linked offset:
* creates new sibling object of the original
* clones of original do not know nor include other sibling objects of the original -> clones are unchanged

AFAIU this report is a request to improve the user interface of the various path offset commands.

See also:
http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Paths-Editing.html#Paths-Offsets

Changed in inkscape:
importance: Undecided → Wishlist
su_v (suv-lp) wrote :

On 2015-03-01 07:31 (+0100), ~suv wrote:
> AFAIU this report is a request to improve the user interface of the
> various path offset commands.

... or rather: to improve the user experience (UX).

insaner (insaner) wrote :

steps to reproduce the simplest case:

-create an object
-clone the object
-create a dynamic offset of the original (only)
-watch the clone disappear
----------------------------------

I was wondering, is there a reason why dynamic offset is implemented as creating a new object with a new id which replaces the original? A trivial solution would be to just use the id of the original for the dynamic offset if there isn't really one.

Doing this manually in the xml editor shows the approach works (copy the id of the original, do the dynamic offset, edit the id by pasting the original one.. the "disappeared" clones reappear).

insaner (insaner) wrote :

If there are no objections, this patch does the above stated solution. Please test and let me know if you encounter any problems as a result.

Changed in inkscape:
assignee: nobody → insaner (insaner)
su_v (suv-lp) wrote :

On 2015-03-02 10:47 (+0100), insaner wrote:
> Please test and let me know if you encounter any problems as a
> result.

Inkscape 0.91+devel r13961 + patch (dynamic_offset-keepid.diff ) crashes with these steps:

1) launch trunk (default (new) prefs, default new doc)
2) open 'Object > Object Properties'
3) draw a rect
4) create dynamic offset
5) undo
6) reselect rect
--> crash

Not reproduced with unpatched version.

su_v (suv-lp) wrote :

Additional notes:
* Crash does not depend on when Object Properties is opened (it also crashes if opened after undo and selecting the rect).
* The crash is similar to bug #1290573 (e.g. the steps described in comment #5 also apply: object id gone in teh XML Editor after editing the rectangle with the rect tool after having undone the dynamic offset).

insaner (insaner) wrote :

This patch should fix those issues. Let me know if anything else is broken too. Thanks

jazzynico (jazzynico) on 2015-03-09
Changed in inkscape:
status: Confirmed → In Progress
milestone: none → 0.92
jazzynico (jazzynico) wrote :

Patch from comment #10 tested successfully on Windows XP, Inkscape trunk rev. 13979. The crash issue is fixed, and no regression found so far.

insaner (insaner) wrote :

If there are no complaints, I will be checking this in in a couple of days. Thanks for testing.

insaner (insaner) wrote :

fix committed: revision 13999

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

Thank You!

Bryce Harrington (bryce) on 2017-01-10
Changed in inkscape:
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