Opened 8 years ago

Closed 7 years ago

#14037 closed defect (fixed)

Remove defs reference when related object is removed

Reported by: stelapad Owned by: Eugene Lazutkin
Priority: high Milestone: 1.8
Component: DojoX GFX Version: 1.7.0b1
Keywords: Cc:
Blocked By: Blocking:

Description

The svg.js file currently adds defs as needed (gradients, patterns, etc.) but does not remove them if the shape is removed from the surface. I realize this isn't a simple task since a parent group, grandparent group, etc. may be removed instead of the shape containing the actual defs reference so there may be some traversal required on group removal. At the very least, though, the following code in the svg.js "remove" function will help to clean up some of the references:

var ref = svg.getRef(shape.rawNode.getAttribute("fill")); if (ref) {

this._getParentSurface().defNode.removeChild(ref);

}

Change History (1)

comment:1 Changed 7 years ago by Patrick Ruzand

Milestone: tbd1.8
Resolution: fixed
Status: newclosed

With the introduction of the new Shape.destroy() API in 1.8, this issue is now resolved when the node is removed with the intent to get rid of it.

Note: See TracTickets for help on using tickets.