diff --git a/layout/painting/RetainedDisplayListBuilder.cpp b/layout/painting/RetainedDisplayListBuilder.cpp index 408aecd93845..34b107557bd1 100644 --- a/layout/painting/RetainedDisplayListBuilder.cpp +++ b/layout/painting/RetainedDisplayListBuilder.cpp @@ -474,7 +474,9 @@ class MergeState { } // aNewItem can't be the glass item on the builder yet. if (destItem->IsGlassItem()) { - mBuilder->Builder()->SetGlassDisplayItem(destItem); + if (destItem != oldItem || destItem != mBuilder->Builder()->GetGlassDisplayItem()) { + mBuilder->Builder()->SetGlassDisplayItem(destItem); + } } MergeChildLists(aNewItem, oldItem, destItem);