Fix assertion - bug 347495 - was due to an attempt to paint children in case of invalid markup, r+sr=roc

This commit is contained in:
rbs%maths.uq.edu.au 2006-08-07 23:42:32 +00:00
Родитель 599cc60aa0
Коммит 4639dd578c
1 изменённых файлов: 7 добавлений и 7 удалений

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

@ -715,17 +715,17 @@ nsMathMLContainerFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
const nsRect& aDirtyRect, const nsRect& aDirtyRect,
const nsDisplayListSet& aLists) const nsDisplayListSet& aLists)
{ {
nsresult rv = DisplayBorderBackgroundOutline(aBuilder, aLists);
NS_ENSURE_SUCCESS(rv, rv);
// report an error if something wrong was found in this frame // report an error if something wrong was found in this frame
if (NS_MATHML_HAS_ERROR(mPresentationData.flags)) { if (NS_MATHML_HAS_ERROR(mPresentationData.flags)) {
// XXX this has no visibility check ... dunno if that's right or not if (!IsVisibleForPainting(aBuilder))
// REVIEW: That is an existing issue return NS_OK;
rv = aLists.Content()->AppendNewToTop(new (aBuilder) nsDisplayMathMLError(this));
NS_ENSURE_SUCCESS(rv, rv); return aLists.Content()->AppendNewToTop(new (aBuilder) nsDisplayMathMLError(this));
} }
nsresult rv = DisplayBorderBackgroundOutline(aBuilder, aLists);
NS_ENSURE_SUCCESS(rv, rv);
rv = DisplayTextDecorationsAndChildren(aBuilder, aDirtyRect, aLists); rv = DisplayTextDecorationsAndChildren(aBuilder, aDirtyRect, aLists);
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);