Opened 10 years ago

Closed 10 years ago

#10168 closed defect (fixed)

ScrollingTabController fails to cleanup popup menu

Reported by: dante Owned by: Shane O'Sullivan
Priority: high Milestone: 1.4
Component: Dijit Version: 1.4.0b
Keywords: Cc:
Blocked By: Blocking:

Description

As reported on dojo-interest, it seems the ScrollingTabController fails to cleanup a reference to a this._menu item which is used for showing a menu of available tabs should the tablist overflow the container.

The solution is simple, push the new this._menu into the _supportingWidgets array so that destroyRecursive() call will clear up all supporting widgets.

Attachments (2)

popup.patch (378 bytes) - added by dante 10 years ago.
teh fix.
test_TabSimple.html (1.3 KB) - added by dante 10 years ago.
a simple reduction of a test case. (note: the dijit.registy.length check won't work if this test is in a page with anything other than just the single tabcontainer instance added and destroyed)

Download all attachments as: .zip

Change History (6)

Changed 10 years ago by dante

Attachment: popup.patch added

teh fix.

Changed 10 years ago by dante

Attachment: test_TabSimple.html added

a simple reduction of a test case. (note: the dijit.registy.length check won't work if this test is in a page with anything other than just the single tabcontainer instance added and destroyed)

comment:1 Changed 10 years ago by dante

(actually, the attached test case has a "quick fix" inline. the useMenu:false prevents the popup from ever being made. adjusting the tc = new dijit.TabContiane?() to have useMenu:true will display the error. Applying the patch makes it work either way.

comment:2 Changed 10 years ago by Shane O'Sullivan

Status: newassigned

comment:3 Changed 10 years ago by Shane O'Sullivan

(In [20646]) Refs #10168 Makes sure that when a SlidingTabController? is destroyed, the dijit.Menu it created is destroyed too. A test case is also added to support this.

comment:4 Changed 10 years ago by Shane O'Sullivan

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.