diff --git a/layout/generic/nsFrame.cpp b/layout/generic/nsFrame.cpp index 0082c4f2e97d..e4327eeb6520 100644 --- a/layout/generic/nsFrame.cpp +++ b/layout/generic/nsFrame.cpp @@ -3554,7 +3554,8 @@ nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder* aBuilder, } nsIFrame* child = aChild; - if (child->GetStateBits() & NS_FRAME_TOO_DEEP_IN_FRAME_TREE) + if (child->HasAnyStateBits( + NS_FRAME_TOO_DEEP_IN_FRAME_TREE | NS_FRAME_IS_NONDISPLAY)) return; aBuilder->ClearWillChangeBudget(child); diff --git a/layout/svg/crashtests/1422226.html b/layout/svg/crashtests/1422226.html new file mode 100644 index 000000000000..5826e60b697e --- /dev/null +++ b/layout/svg/crashtests/1422226.html @@ -0,0 +1,39 @@ + + +
+ +