Fix leak of mCurrentFocus that caused input element in URL bar to leak. r=saari@netscape.com sr=hyatt@netscape.com b=59042

This commit is contained in:
dbaron%fas.harvard.edu 2000-11-08 03:00:02 +00:00
parent d12acd117e
commit 4de499215d
2 changed files with 6 additions and 4 deletions

View File

@ -363,7 +363,7 @@ nsEventStateManager::PreHandleEvent(nsIPresContext* aPresContext,
mDocument->GetScriptGlobalObject(getter_AddRefs(globalObject));
if (globalObject) {
nsIContent* currentFocus = mCurrentFocus;
mCurrentFocus = nsnull;
mCurrentFocus = nsnull; // keep the owning reference in currentFocus
if(gLastFocusedDocument != mDocument) {
mDocument->HandleDOMEvent(aPresContext, &focusevent, nsnull, NS_EVENT_FLAG_INIT, &status);
if (currentFocus && currentFocus != gLastFocusedContent)
@ -371,7 +371,8 @@ nsEventStateManager::PreHandleEvent(nsIPresContext* aPresContext,
}
globalObject->HandleDOMEvent(aPresContext, &focusevent, nsnull, NS_EVENT_FLAG_INIT, &status);
mCurrentFocus = currentFocus;
NS_IF_RELEASE(mCurrentFocus);
mCurrentFocus = currentFocus; // we kept this reference above
NS_IF_RELEASE(gLastFocusedContent);
gLastFocusedContent = mCurrentFocus;
NS_IF_ADDREF(gLastFocusedContent);

View File

@ -363,7 +363,7 @@ nsEventStateManager::PreHandleEvent(nsIPresContext* aPresContext,
mDocument->GetScriptGlobalObject(getter_AddRefs(globalObject));
if (globalObject) {
nsIContent* currentFocus = mCurrentFocus;
mCurrentFocus = nsnull;
mCurrentFocus = nsnull; // keep the owning reference in currentFocus
if(gLastFocusedDocument != mDocument) {
mDocument->HandleDOMEvent(aPresContext, &focusevent, nsnull, NS_EVENT_FLAG_INIT, &status);
if (currentFocus && currentFocus != gLastFocusedContent)
@ -371,7 +371,8 @@ nsEventStateManager::PreHandleEvent(nsIPresContext* aPresContext,
}
globalObject->HandleDOMEvent(aPresContext, &focusevent, nsnull, NS_EVENT_FLAG_INIT, &status);
mCurrentFocus = currentFocus;
NS_IF_RELEASE(mCurrentFocus);
mCurrentFocus = currentFocus; // we kept this reference above
NS_IF_RELEASE(gLastFocusedContent);
gLastFocusedContent = mCurrentFocus;
NS_IF_ADDREF(gLastFocusedContent);