diff --git a/layout/painting/RetainedDisplayListBuilder.cpp b/layout/painting/RetainedDisplayListBuilder.cpp index d1aa72aacc20..c278e424b5f4 100644 --- a/layout/painting/RetainedDisplayListBuilder.cpp +++ b/layout/painting/RetainedDisplayListBuilder.cpp @@ -305,8 +305,14 @@ bool RetainedDisplayListBuilder::PreProcessDisplayList( !item->GetActiveScrolledRoot()) { agrFrame = aAsyncAncestor; } else { - agrFrame = item->GetActiveScrolledRoot() - ->mScrollContainerFrame->GetScrolledFrame(); + auto* scrollContainerFrame = + item->GetActiveScrolledRoot()->mScrollContainerFrame; + if (MOZ_UNLIKELY(!scrollContainerFrame)) { + MOZ_DIAGNOSTIC_ASSERT(false); + gfxCriticalNoteOnce << "Found null mScrollContainerFrame in asr"; + return false; + } + agrFrame = scrollContainerFrame->GetScrolledFrame(); } if (aAGR && agrFrame != aAGR) {