Bug 208265. Accessibility can crash after profile manager window closes. r=kyle, sr=alecf

This commit is contained in:
aaronl%netscape.com 2003-06-16 10:22:40 +00:00
Родитель 7b5974ecfa
Коммит b1c3206ff1
2 изменённых файлов: 21 добавлений и 13 удалений

Просмотреть файл

@ -569,11 +569,29 @@ void nsDocAccessible::RemoveContentDocListeners()
target->RemoveEventListener(NS_LITERAL_STRING("DOMNodeInsertedIntoDocument"), this, PR_TRUE);
target->RemoveEventListener(NS_LITERAL_STRING("DOMNodeRemovedFromDocument"), this, PR_TRUE);
if (mScrollWatchTimer) {
mScrollWatchTimer->Cancel();
mScrollWatchTimer = nsnull;
}
if (mDocLoadTimer) {
mDocLoadTimer->Cancel();
mDocLoadTimer = nsnull;
}
nsCOMPtr<nsISupports> container;
mDocument->GetContainer(getter_AddRefs(container));
nsCOMPtr<nsICommandManager> commandManager = do_GetInterface(container);
if (commandManager) {
commandManager->RemoveCommandObserver(this, "obs_documentCreated");
nsCOMPtr<nsIDocShellTreeItem> docShellTreeItem(do_QueryInterface(container));
if (!docShellTreeItem)
return;
PRInt32 itemType;
docShellTreeItem->GetItemType(&itemType);
if (itemType == nsIDocShellTreeItem::typeContent) {
nsCOMPtr<nsICommandManager> commandManager = do_GetInterface(container);
if (commandManager) {
commandManager->RemoveCommandObserver(this, "obs_documentCreated");
}
}
}

Просмотреть файл

@ -203,16 +203,6 @@ NS_IMETHODIMP nsRootAccessible::RemoveEventListeners()
target->RemoveEventListener(NS_LITERAL_STRING("ListitemStateChange"), NS_STATIC_CAST(nsIDOMXULListener*, this), PR_TRUE);
}
if (mScrollWatchTimer) {
mScrollWatchTimer->Cancel();
mScrollWatchTimer = nsnull;
}
if (mDocLoadTimer) {
mDocLoadTimer->Cancel();
mDocLoadTimer = nsnull;
}
RemoveContentDocListeners();
if (mCaretAccessible) {