Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#16513 closed defect (fixed)

aspect chain is corrupted when signal is removed twice

Reported by: Kris Zyp Owned by: Kris Zyp
Priority: undecided Milestone: 1.7.5
Component: Core Version: 1.8.2
Keywords: Cc:
Blocked By: Blocking:

Description

If you call signal.remove() twice, it produces an incorrect listener chain. This can be reproduced by creating three aspects, removing the first and then removing second twice, resulting in the first listener being re-added.

Change History (6)

comment:1 Changed 7 years ago by Kris Zyp

Owner: set to Kris Zyp
Resolution: fixed
Status: newclosed

In [30256]:

Prevent multiple remove() calls on an aspect signal from corrupting the aspect chain, fixes #16513 !strict

comment:2 Changed 7 years ago by bill

Milestone: tbd1.9

comment:3 Changed 7 years ago by Colin Snover

In [31298]:

Clear references within dojo/aspect when handles are removed to avoid
over-retention of objects when a user removes a handle and then does
not dereference the handle. Fixes #17048.

Also, correct [30256] to allow remove functions to work correctly
when their context is changed, refs #16513.

!strict due to "use strict" pragma

comment:4 Changed 7 years ago by Colin Snover

In [31299]:

Clear references within dojo/aspect when handles are removed to avoid
over-retention of objects when a user removes a handle and then does
not dereference the handle. Fixes #17048.

Prevent multiple remove() calls on an aspect signal from corrupting the aspect chain, fixes #16513

!strict due to "use strict" pragma

Backport to 1.8

comment:5 Changed 7 years ago by Colin Snover

In [31300]:

Clear references within dojo/aspect when handles are removed to avoid
over-retention of objects when a user removes a handle and then does
not dereference the handle. Fixes #17048.

Prevent multiple remove() calls on an aspect signal from corrupting the aspect chain, fixes #16513

!strict due to "use strict" pragma

Backport to 1.7

comment:6 Changed 7 years ago by Colin Snover

Milestone: 1.91.7.5
Note: See TracTickets for help on using tickets.