зеркало из https://github.com/mozilla/gecko-dev.git
Bug 461816 - pressing Ctrl-U in password dialog asserts and then crashes; r+sr=peterv
This commit is contained in:
Родитель
43d3a2fb82
Коммит
aeafc6d1a7
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче