Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#9275 closed defect (fixed)

destroy editor then unloading page gives exception

Reported by: bill Owned by: bill
Priority: high Milestone: 1.4
Component: Editor Version: 1.3.0
Keywords: Cc:
Blocked By: Blocking:

Description

See test_Editor.html on IE6.

Press the "destroy" button to destroy one of the editors and then the refresh button.

There's an exception about "destroyRecursive" not found. Maybe something about the toolbar?

Change History (3)

comment:1 Changed 10 years ago by bill

Looks like this is related to editor destruction, which doesn't actually destroy the domNode of the editor (see [3518] and related ticket #9268), thus leaving a <div widgetid=editor1> lying on the page even though the editor1 widget has been deregistered.

Then on page unload on IE, manager.js calls dijit.findWidgets(dojo.body()), which returns an array containing undefined as one of it's members.

comment:2 Changed 10 years ago by bill

Resolution: fixed
Status: newclosed

(In [17509]) Fix big memory leak on IE; we need to clobber the event handlers on the <iframe> before destroying it (fixes #9268). Thanks to Snowman for pointing out problem/fix.

Also adds minimal fix for dangling widgetid=editor1 left in DOM tree after editor1.destroy() is called, which was messing up page unload (fixes #9275). Note that I removed RichText?'s call to destroyRendering() since _Widget.destroy() already calls destroyRendering().

!strict

comment:3 Changed 10 years ago by bill

(In [17510]) Make Editor.destroy() destroy the Editor's DOM node (unless passed the preserveDOM=true parameter), as per the contract of _Widget.destroy().

[3518] modified Editor not to do this but it's unclear why.

Refs #9275 !strict

Note: See TracTickets for help on using tickets.