зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1157327 - Don't cull out container layers, because their prepared data might be null and cause crashes. r=nical
This commit is contained in:
Родитель
cd5b55f8d6
Коммит
d56fb0e2aa
|
@ -263,17 +263,19 @@ ContainerPrepare(ContainerT* aContainer,
|
|||
for (uint32_t i = 0; i < children.Length(); i++) {
|
||||
LayerComposite* layerToRender = static_cast<LayerComposite*>(children.ElementAt(i)->ImplData());
|
||||
|
||||
if (layerToRender->GetLayer()->GetEffectiveVisibleRegion().IsEmpty() &&
|
||||
!layerToRender->GetLayer()->AsContainerLayer()) {
|
||||
CULLING_LOG("Sublayer %p has no effective visible region\n", layerToRender->GetLayer());
|
||||
continue;
|
||||
}
|
||||
|
||||
RenderTargetIntRect clipRect = layerToRender->GetLayer()->
|
||||
CalculateScissorRect(aClipRect);
|
||||
if (clipRect.IsEmpty()) {
|
||||
CULLING_LOG("Sublayer %p has an empty world clip rect\n", layerToRender->GetLayer());
|
||||
continue;
|
||||
|
||||
if (!layerToRender->GetLayer()->AsContainerLayer()) {
|
||||
if (layerToRender->GetLayer()->GetEffectiveVisibleRegion().IsEmpty()) {
|
||||
CULLING_LOG("Sublayer %p has no effective visible region\n", layerToRender->GetLayer());
|
||||
continue;
|
||||
}
|
||||
|
||||
if (clipRect.IsEmpty()) {
|
||||
CULLING_LOG("Sublayer %p has an empty world clip rect\n", layerToRender->GetLayer());
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
CULLING_LOG("Preparing sublayer %p\n", layerToRender->GetLayer());
|
||||
|
|
Загрузка…
Ссылка в новой задаче