Opened 10 years ago

Closed 8 years ago

#9610 closed defect (wontfix)

Menu: targetNodeIds value is stale

Reported by: bill Owned by: bill
Priority: high Milestone: future
Component: Dijit Version: 1.3.2
Keywords: Cc:
Blocked By: Blocking:

Description

Menu.targetNodeIds and attr('targetNodeIds') is always the initial list of target id's, not modified by calls to bindDomNode()/unBindDomNode().

On Menu destroy (including page unload on IE), Menu will try to reference id's that are no longer connected, possibly for nodes that no longer exist, causing exceptions. It also won't disconnect from any nodes connected via bindDomNode() after the menu was initialized, thus causing leaks.

Change History (5)

comment:1 Changed 10 years ago by bill

(In [19096]) Fix Menu destruction to detach from the current list of connected nodes, rather than the original list (which could have changed both by additions and deletions). Refs #9610 !strict.

comment:2 Changed 10 years ago by bill

Milestone: tbdfuture
Summary: Menu: targetNodeIds value is stale, and can lead to exceptions/leaks on Menu destroyMenu: targetNodeIds value is stale

Updating summary to just reflect remaining issues (which isn't serious).

comment:3 Changed 9 years ago by bill

Also, watch() is not working for targetNodeIds.

comment:4 Changed 9 years ago by bill

(In [23190]) Implement watch() for Menu, except for targetNodeIds, which needs implementation for both set() and watch().

Refs #11251, #9610 !strict.

comment:5 Changed 8 years ago by bill

Resolution: wontfix
Status: newclosed

Rather than fixing this I'll just remove targetNodIds in 2.0, in favor of a selector, see #14812.

Note: See TracTickets for help on using tickets.