Bug 393490. When subsuming an interval, we need to merge its beginning into the current interval as well as its end, because it might start before the current interval. r+sr=dbaron

git-svn-id: svn://10.0.0.236/trunk@246252 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
roc+%cs.cmu.edu
2008-02-22 01:02:52 +00:00
parent 62a8d99c25
commit 37e652dcfa

View File

@@ -88,6 +88,7 @@ void nsIntervalSet::IncludeInterval(coord_type aBegin, coord_type aEnd)
Interval *subsumed = newInterval->mNext;
while (subsumed && subsumed->mBegin <= aEnd) {
newInterval->mBegin = PR_MIN(newInterval->mBegin, subsumed->mBegin);
newInterval->mEnd = PR_MAX(newInterval->mEnd, subsumed->mEnd);
newInterval->mNext = subsumed->mNext;
FreeInterval(subsumed);