diff options
Diffstat (limited to 'WebCore/editing/InsertListCommand.cpp')
-rw-r--r-- | WebCore/editing/InsertListCommand.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/WebCore/editing/InsertListCommand.cpp b/WebCore/editing/InsertListCommand.cpp index f90d5d3..bb3cd93 100644 --- a/WebCore/editing/InsertListCommand.cpp +++ b/WebCore/editing/InsertListCommand.cpp @@ -156,6 +156,11 @@ void InsertListCommand::doApply() doApplyForSingleParagraph(forceCreateList, listTag, currentSelection.get()); if (endOfSelection.isNull() || endOfSelection.isOrphan() || startOfLastParagraph.isNull() || startOfLastParagraph.isOrphan()) { RefPtr<Range> lastSelectionRange = TextIterator::rangeFromLocationAndLength(document()->documentElement(), indexForEndOfSelection, 0, true); + // If lastSelectionRange is null, then some contents have been deleted from the document. + // This should never happen and if it did, exit early immediately because we've lost the loop invariant. + ASSERT(lastSelectionRange); + if (!lastSelectionRange) + return; endOfSelection = lastSelectionRange->startPosition(); startOfLastParagraph = startOfParagraph(endOfSelection); } |