guix-devel/gnu/packages/patches/icecat-CVE-2015-0836-pt-09....

53 lines
1.7 KiB
Diff

From f7d24f37425d3d9054a7e5657815440a07166d3f Mon Sep 17 00:00:00 2001
From: Kartikaya Gupta <kgupta@mozilla.com>
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