Bug 461816 - pressing Ctrl-U in password dialog asserts and then crashes; r+sr=peterv

This commit is contained in:
Theppitak KaroonboonyananTheppitak Karoonboonyanan 2008-12-04 14:17:48 +01:00
Родитель 43d3a2fb82
Коммит aeafc6d1a7
1 изменённых файлов: 15 добавлений и 15 удалений

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

@ -888,6 +888,9 @@ nsTextEditRules::WillDeleteSelection(nsISelection *aSelection,
if (mFlags & nsIPlaintextEditor::eEditorPasswordMask)
{
res = mEditor->ExtendSelectionForDelete(aSelection, &aCollapsedAction);
NS_ENSURE_SUCCESS(res, res);
// manage the password buffer
PRUint32 start, end;
mEditor->GetTextSelectionOffsets(aSelection, start, end);
@ -918,25 +921,22 @@ nsTextEditRules::WillDeleteSelection(nsISelection *aSelection,
res = aSelection->GetIsCollapsed(&bCollapsed);
if (NS_FAILED(res)) return res;
if (bCollapsed)
{
// Test for distance between caret and text that will be deleted
res = CheckBidiLevelForDeletion(aSelection, startNode, startOffset, aCollapsedAction, aCancel);
if (NS_FAILED(res)) return res;
if (*aCancel) return NS_OK;
if (!bCollapsed) return NS_OK;
res = mEditor->ExtendSelectionForDelete(aSelection, &aCollapsedAction);
NS_ENSURE_SUCCESS(res, res);
// Test for distance between caret and text that will be deleted
res = CheckBidiLevelForDeletion(aSelection, startNode, startOffset, aCollapsedAction, aCancel);
if (NS_FAILED(res)) return res;
if (*aCancel) return NS_OK;
res = mEditor->DeleteSelectionImpl(aCollapsedAction);
NS_ENSURE_SUCCESS(res, res);
*aHandled = PR_TRUE;
return NS_OK;
}
res = mEditor->ExtendSelectionForDelete(aSelection, &aCollapsedAction);
NS_ENSURE_SUCCESS(res, res);
}
return res;
res = mEditor->DeleteSelectionImpl(aCollapsedAction);
NS_ENSURE_SUCCESS(res, res);
*aHandled = PR_TRUE;
return NS_OK;
}
nsresult