$OpenBSD$ index 5a3a1f6..ff42bc0 100644 --- gfx/layers/basic/BasicLayerManager.cpp.orig Fri Feb 20 15:40:37 2015 +++ gfx/layers/basic/BasicLayerManager.cpp Fri Feb 20 15:40:37 2015 @@ -901,18 +901,17 @@ BasicLayerManager::PaintLayer(gfxContext* aTarget, RenderTraceScope trace("BasicLayerManager::PaintLayer", "707070"); const nsIntRect* clipRect = aLayer->GetEffectiveClipRect(); - // aLayer might not be a container layer, but if so we take care not to use - // the container variable - BasicContainerLayer* container = static_cast(aLayer); - bool needsGroup = aLayer->GetFirstChild() && + BasicContainerLayer* container = + static_cast(aLayer->AsContainerLayer()); + bool needsGroup = container && container->UseIntermediateSurface(); BasicImplData* data = ToData(aLayer); bool needsClipToVisibleRegion = data->GetClipToVisibleRegion() && !aLayer->AsThebesLayer(); - NS_ASSERTION(needsGroup || !aLayer->GetFirstChild() || + NS_ASSERTION(needsGroup || !container || container->GetOperator() == CompositionOp::OP_OVER, "non-OVER operator should have forced UseIntermediateSurface"); - NS_ASSERTION(!aLayer->GetFirstChild() || !aLayer->GetMaskLayer() || + NS_ASSERTION(!container || !aLayer->GetMaskLayer() || container->UseIntermediateSurface(), "ContainerLayer with mask layer should force UseIntermediateSurface");