Opened 12 years ago

Closed 11 years ago

#4381 closed defect (fixed)

StackContainer close() method does not destroy descendants

Reported by: guest Owned by: bill
Priority: high Milestone: 1.1
Component: Dijit Version: 0.9
Keywords: Cc:
Blocked By: Blocking:

Description

I'm not sure this is the right place for the fix, but so far it hasn't broken anything in my environment. The issue is that the onUnload and destroy methods on child widgets inside a container never get called, when a tab is closed.

I've tracked it down to dijit.layout.StackContainer?.js, line 224, changing the page.destroy() to page.destroyDescendants(), and now the widgets on the page properly clean themselves up.

See http://dojotoolkit.org/forum/dijit-dijit-0-9/dijit-development-discussion/contentpane-onunload-wonkiness for more details.

Change History (5)

comment:1 Changed 12 years ago by bill

Milestone: 1.1

comment:2 Changed 12 years ago by bill

Owner: set to Adam Peller

comment:3 Changed 11 years ago by Adam Peller

who should call destroy recursive? The contentpane? both contentpane and stack container? all containers? should there even be a destroy recursive or should destroy just do it?

comment:4 Changed 11 years ago by bill

Owner: changed from Adam Peller to bill
Status: newassigned

I'll fix simply and then file a separate bug about changing destroy() to work like destroyRecursive() and getting rid of destroyRecursive().

comment:5 Changed 11 years ago by bill

Resolution: fixed
Status: assignedclosed

(In [12317]) Fixes #4381: StackContainer? close() method does not destroy descendants. !strict

Note: See TracTickets for help on using tickets.