Closed Bug 18058 Opened 25 years ago Closed 25 years ago

[mlk] remove nsIControllers.commandDispatcher to break cycle

Categories

(Core :: XUL, defect, P3)

defect

Tracking

()

VERIFIED FIXED

People

(Reporter: waterson, Assigned: waterson)

Details

Attachments

(1 file)

There is an unnecessary cycle that starts and ends at a XUL element:

1. The element's `mControllers' slot holds an nsXULControllers object.
2. The nsXULControllers object holds an nsXULCommandDispatcher object.
3. The nsXULCommandDispatcher object holds an nsXULElement.

It turns out that (according to hyatt), the reference from nsXULControllers to
nsXULCommandDispatcher is old and crufty and superceded by nsXULDocument's
ownership of the command dispatcher. I've verified this by grovelling through
the existing JS and XUL that refers to a 'commandDispatcher' attribute.

Breaking this dependency fixes a -monster- leak.
Status: NEW → ASSIGNED
Target Milestone: M11
marking M11. fixing this leak will make XUL 99.9% clean
Attached patch proposed fixSplinter Review
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
fix checked in, r=hyatt a=chofmann
Status: RESOLVED → VERIFIED
marking verified
BULK MOVE: Changing component from XUL to XP Toolkit/Widgets: XUL.  XUL 
component will be deleted.
Component: XUL → XP Toolkit/Widgets: XUL
Component: XP Toolkit/Widgets: XUL → XUL
QA Contact: ckritzer → xptoolkit.widgets
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: