Bug 286619, registered event listeners are lost (not firing) after moving XUL elements using DOM appendChild/removeChild methods, r=sicking, sr=bz

This commit is contained in:
Olli.Pettay@helsinki.fi
2006-08-16 08:44:45 +00:00
parent 547fcaa054
commit 59947f1b15
10 changed files with 129 additions and 62 deletions

View File

@@ -145,14 +145,6 @@ nsINode::~nsINode()
{
NS_ASSERTION(!HasSlots(), "Don't know how to kill the slots");
nsIDocument *document = GetOwnerDoc();
if (document && HasProperties()) {
nsContentUtils::CallUserDataHandler(document,
nsIDOMUserDataHandler::NODE_DELETED,
this, nsnull, nsnull);
document->PropertyTable()->DeleteAllPropertiesFor(this);
}
if (HasFlag(NODE_HAS_RANGELIST)) {
#ifdef DEBUG
if (!nsContentUtils::LookupRangeList(this) &&
@@ -3099,7 +3091,8 @@ NS_INTERFACE_MAP_BEGIN(nsGenericElement)
NS_INTERFACE_MAP_END
NS_IMPL_ADDREF(nsGenericElement)
NS_IMPL_RELEASE(nsGenericElement)
NS_IMPL_RELEASE_WITH_DESTROY(nsGenericElement,
nsNodeUtils::LastRelease(this))
nsresult
nsGenericElement::PostQueryInterface(REFNSIID aIID, void** aInstancePtr)