diff options
Diffstat (limited to 'libs/hwui/RenderNode.cpp')
-rw-r--r-- | libs/hwui/RenderNode.cpp | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp index 7d8f0462920a..f1c8232760e1 100644 --- a/libs/hwui/RenderNode.cpp +++ b/libs/hwui/RenderNode.cpp @@ -406,21 +406,13 @@ void RenderNode::deleteDisplayList(TreeObserver& observer, TreeInfo* info) { } void RenderNode::destroyHardwareResources(TreeInfo* info) { - ImmediateRemoved observer(info); - destroyHardwareResourcesImpl(observer, info); -} - -void RenderNode::destroyHardwareResourcesImpl(TreeObserver& observer, TreeInfo* info) { if (hasLayer()) { renderthread::CanvasContext::destroyLayer(this); } - if (mDisplayList) { - mDisplayList->updateChildren([&observer, info](RenderNode* child) { - child->destroyHardwareResourcesImpl(observer, info); - }); - setStagingDisplayList(nullptr); - deleteDisplayList(observer, info); - } + setStagingDisplayList(nullptr); + + ImmediateRemoved observer(info); + deleteDisplayList(observer, info); } void RenderNode::destroyLayers() { |