From f7d24f37425d3d9054a7e5657815440a07166d3f Mon Sep 17 00:00:00 2001 From: Kartikaya Gupta Date: Tue, 20 Jan 2015 10:33:27 -0500 Subject: [PATCH] Bug 1107009 - Additional locking needed for esr31 backport. r=BenWa a=sledru --- gfx/layers/ipc/CompositorParent.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gfx/layers/ipc/CompositorParent.cpp b/gfx/layers/ipc/CompositorParent.cpp index 97c8693..cb03e71 100644 --- a/gfx/layers/ipc/CompositorParent.cpp +++ b/gfx/layers/ipc/CompositorParent.cpp @@ -1286,13 +1286,19 @@ CrossProcessCompositorParent::ShadowLayersUpdated( { uint64_t id = aLayerTree->GetId(); MOZ_ASSERT(id != 0); + const CompositorParent::LayerTreeState* state = CompositorParent::GetIndirectShadowTree(id); + if (!state) { + return; + } + MOZ_ASSERT(state->mParent); + Layer* shadowRoot = aLayerTree->GetRoot(); if (shadowRoot) { SetShadowProperties(shadowRoot); } UpdateIndirectTree(id, shadowRoot, aTargetConfig); - sIndirectLayerTrees[id].mParent->NotifyShadowTreeTransaction(id, aIsFirstPaint, aScheduleComposite); + state->mParent->NotifyShadowTreeTransaction(id, aIsFirstPaint, aScheduleComposite); } void @@ -1329,7 +1335,12 @@ AsyncCompositionManager* CrossProcessCompositorParent::GetCompositionManager(LayerTransactionParent* aLayerTree) { uint64_t id = aLayerTree->GetId(); - return sIndirectLayerTrees[id].mParent->GetCompositionManager(aLayerTree); + const CompositorParent::LayerTreeState* state = CompositorParent::GetIndirectShadowTree(id); + if (!state) { + return nullptr; + } + MOZ_ASSERT(state->mParent); + return state->mParent->GetCompositionManager(aLayerTree); } void -- 2.2.1