зеркало из https://github.com/mozilla/gecko-dev.git
Fix memory leak: use nsCOMPtr for frame selection everywhere
This commit is contained in:
Родитель
9fa2f8e3ab
Коммит
7ce99a3b55
|
@ -723,9 +723,9 @@ getDOMSelection(nsIPresShell* presShell)
|
||||||
nsCOMPtr<nsIDOMSelection> selection; // will be the return value
|
nsCOMPtr<nsIDOMSelection> selection; // will be the return value
|
||||||
|
|
||||||
nsresult result;
|
nsresult result;
|
||||||
nsISelection* frameSelection;
|
nsCOMPtr<nsISelection> frameSelection;
|
||||||
result = presShell->GetSelection(&frameSelection);
|
result = presShell->GetSelection(getter_AddRefs(frameSelection));
|
||||||
if ((!NS_SUCCEEDED(result)) || (nsnull == frameSelection))
|
if ((!NS_SUCCEEDED(result)) || !frameSelection)
|
||||||
return selection;
|
return selection;
|
||||||
|
|
||||||
frameSelection->QueryInterface(kIDOMSelectionIID,
|
frameSelection->QueryInterface(kIDOMSelectionIID,
|
||||||
|
@ -759,9 +759,9 @@ nsresult nsEditor::CreateTxnForInsertText(const nsString & aStringToInsert,
|
||||||
InsertTextTxn ** aTxn)
|
InsertTextTxn ** aTxn)
|
||||||
{
|
{
|
||||||
nsresult result;
|
nsresult result;
|
||||||
nsISelection* selection;
|
nsCOMPtr<nsISelection> selection;
|
||||||
result = mPresShell->GetSelection(&selection);
|
result = mPresShell->GetSelection(getter_AddRefs(selection));
|
||||||
if ((NS_SUCCEEDED(result)) && (nsnull!=selection))
|
if ((NS_SUCCEEDED(result)) && selection)
|
||||||
{
|
{
|
||||||
nsCOMPtr<nsIEnumerator> enumerator;
|
nsCOMPtr<nsIEnumerator> enumerator;
|
||||||
enumerator = selection;
|
enumerator = selection;
|
||||||
|
@ -857,9 +857,9 @@ nsresult nsEditor::CreateTxnToHandleEnterKey(EditAggregateTxn **aTxn)
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
nsISelection* selection;
|
nsCOMPtr<nsISelection> selection;
|
||||||
result = mPresShell->GetSelection(&selection);
|
result = mPresShell->GetSelection(getter_AddRefs(selection));
|
||||||
if ((NS_SUCCEEDED(result)) && (nsnull!=selection))
|
if ((NS_SUCCEEDED(result)) && selection)
|
||||||
{
|
{
|
||||||
nsCOMPtr<nsIEnumerator> enumerator;
|
nsCOMPtr<nsIEnumerator> enumerator;
|
||||||
enumerator = selection;
|
enumerator = selection;
|
||||||
|
@ -947,9 +947,9 @@ nsresult nsEditor::CreateTxnForDeleteSelection(nsIEditor::Direction aDir,
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
nsISelection* selection;
|
nsCOMPtr<nsISelection> selection;
|
||||||
result = mPresShell->GetSelection(&selection);
|
result = mPresShell->GetSelection(getter_AddRefs(selection));
|
||||||
if ((NS_SUCCEEDED(result)) && (nsnull!=selection))
|
if ((NS_SUCCEEDED(result)) && selection)
|
||||||
{
|
{
|
||||||
nsCOMPtr<nsIEnumerator> enumerator;
|
nsCOMPtr<nsIEnumerator> enumerator;
|
||||||
enumerator = selection;
|
enumerator = selection;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче