mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 04:15:43 +00:00
Bug 1454430 - Ensure the ClearTree task runs before we shut down webrender. r=nical
MozReview-Commit-ID: BCc0zuZvktj --HG-- extra : rebase_source : e35e41a33943a7e2d5eae869ace62802040a0d7a
This commit is contained in:
parent
6d9521886f
commit
f245e247b3
@ -450,6 +450,18 @@ CompositorBridgeParent::StopAndClearResources()
|
||||
|
||||
mPaused = true;
|
||||
|
||||
// We need to clear the APZ tree before we destroy the WebRender API below,
|
||||
// because in the case of async scene building that will shut down the updater
|
||||
// thread and we need to run the task before that happens.
|
||||
MOZ_ASSERT((mApzSampler != nullptr) == (mApzcTreeManager != nullptr));
|
||||
MOZ_ASSERT((mApzUpdater != nullptr) == (mApzcTreeManager != nullptr));
|
||||
if (mApzUpdater) {
|
||||
mApzSampler = nullptr;
|
||||
mApzUpdater->ClearTree(mRootLayerTreeID);
|
||||
mApzUpdater = nullptr;
|
||||
mApzcTreeManager = nullptr;
|
||||
}
|
||||
|
||||
// Ensure that the layer manager is destroyed before CompositorBridgeChild.
|
||||
if (mLayerManager) {
|
||||
MonitorAutoLock lock(*sIndirectLayerTreesLock);
|
||||
@ -639,15 +651,6 @@ CompositorBridgeParent::ActorDestroy(ActorDestroyReason why)
|
||||
|
||||
mCompositionManager = nullptr;
|
||||
|
||||
MOZ_ASSERT((mApzSampler != nullptr) == (mApzcTreeManager != nullptr));
|
||||
MOZ_ASSERT((mApzUpdater != nullptr) == (mApzcTreeManager != nullptr));
|
||||
if (mApzUpdater) {
|
||||
mApzSampler = nullptr;
|
||||
mApzUpdater->ClearTree(mRootLayerTreeID);
|
||||
mApzUpdater = nullptr;
|
||||
mApzcTreeManager = nullptr;
|
||||
}
|
||||
|
||||
{ // scope lock
|
||||
MonitorAutoLock lock(*sIndirectLayerTreesLock);
|
||||
sIndirectLayerTrees.erase(mRootLayerTreeID);
|
||||
|
Loading…
Reference in New Issue
Block a user