зеркало из https://github.com/mozilla/gecko-dev.git
Bug 329672 r=mscott Thunderbird assertions on window close with spellchecker
This commit is contained in:
Родитель
c831982ad7
Коммит
4ccd7ea864
|
@ -708,6 +708,11 @@ mozInlineSpellChecker::SpellCheckBetweenNodes(nsIDOMNode *aStartNode,
|
||||||
aEndOffset = childCount;
|
aEndOffset = childCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// sometimes we are are requested to check an empty range (possibly an empty
|
||||||
|
// document). This will result in assertions later.
|
||||||
|
if (aStartNode == aEndNode && aStartOffset == aEndOffset)
|
||||||
|
return NS_OK;
|
||||||
|
|
||||||
range->SetStart(aStartNode,aStartOffset);
|
range->SetStart(aStartNode,aStartOffset);
|
||||||
|
|
||||||
if (aEndOffset)
|
if (aEndOffset)
|
||||||
|
@ -1248,14 +1253,19 @@ nsresult mozInlineSpellChecker::HandleNavigationEvent(nsIDOMEvent * aEvent, PRBo
|
||||||
{
|
{
|
||||||
// get the current selection and compare it to the new selection.
|
// get the current selection and compare it to the new selection.
|
||||||
nsresult rv;
|
nsresult rv;
|
||||||
|
|
||||||
nsCOMPtr<nsIDOMNode> currentAnchorNode = mCurrentSelectionAnchorNode;
|
nsCOMPtr<nsIDOMNode> currentAnchorNode = mCurrentSelectionAnchorNode;
|
||||||
PRInt32 currentAnchorOffset = mCurrentSelectionOffset;
|
PRInt32 currentAnchorOffset = mCurrentSelectionOffset;
|
||||||
|
|
||||||
// now remember the new focus position resulting from the event
|
// now remember the new focus position resulting from the event
|
||||||
SaveCurrentSelectionPosition();
|
rv = SaveCurrentSelectionPosition();
|
||||||
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
NS_ENSURE_TRUE(currentAnchorNode, NS_OK);
|
// No current selection (this can happen the first time you focus empty
|
||||||
|
// windows). Since we just called SaveCurrentSelectionPosition it will be
|
||||||
|
// initialized for next time.
|
||||||
|
if (! currentAnchorNode)
|
||||||
|
return NS_OK;
|
||||||
|
|
||||||
// expand the old selection into a range for the nearest word boundary
|
// expand the old selection into a range for the nearest word boundary
|
||||||
nsCOMPtr<nsIDOMRange> currentWordRange;
|
nsCOMPtr<nsIDOMRange> currentWordRange;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче