diff --git a/layout/generic/nsFrame.cpp b/layout/generic/nsFrame.cpp index 715c9c91581..83c9d586f58 100644 --- a/layout/generic/nsFrame.cpp +++ b/layout/generic/nsFrame.cpp @@ -1529,13 +1529,12 @@ WrapPreserve3DListInternal(nsIFrame* aFrame, nsDisplayListBuilder *aBuilder, nsD nsDisplayList temp; while (nsDisplayItem *item = aList->RemoveBottom()) { nsIFrame *childFrame = item->GetUnderlyingFrame(); - NS_ASSERTION(childFrame, "All display items to be wrapped must have a frame!"); // We accumulate sequential items that aren't transforms into the 'temp' list // and then flush this list into newList by wrapping the whole lot with a single // nsDisplayTransform. - if (childFrame->GetParent()->Preserves3DChildren()) { + if (childFrame && childFrame->GetParent()->Preserves3DChildren()) { switch (item->GetType()) { case nsDisplayItem::TYPE_TRANSFORM: { if (!temp.IsEmpty()) {