diff options
author | Scott Lobdell <slobdell@google.com> | 2021-04-23 22:36:54 +0000 |
---|---|---|
committer | Scott Lobdell <slobdell@google.com> | 2021-04-23 22:36:54 +0000 |
commit | 81abbc1d7858f29d3344ff6f1702ece80eab8341 (patch) | |
tree | b06d90c8277a04e4f8156d9b20d1611a974156e0 /libs/hwui/RenderNode.cpp | |
parent | 857ef130fbeed8d0eb46cc1bfc9f75138f11c4e6 (diff) | |
parent | bd33c1d7942f5aad3e313cbd447056b720d1149b (diff) |
Merge SP1A.210412.001
Change-Id: I0e1c2f5679d5f721cd605b7da785959763311698
Diffstat (limited to 'libs/hwui/RenderNode.cpp')
-rw-r--r-- | libs/hwui/RenderNode.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp index f5b2675c7fe6..e9eae3d14760 100644 --- a/libs/hwui/RenderNode.cpp +++ b/libs/hwui/RenderNode.cpp @@ -255,15 +255,19 @@ void RenderNode::prepareTreeImpl(TreeObserver& observer, TreeInfo& info, bool fu if (mDisplayList) { info.out.hasFunctors |= mDisplayList.hasFunctor(); + mHasHolePunches = mDisplayList.hasHolePunches(); bool isDirty = mDisplayList.prepareListAndChildren( observer, info, childFunctorsNeedLayer, - [](RenderNode* child, TreeObserver& observer, TreeInfo& info, - bool functorsNeedLayer) { + [this](RenderNode* child, TreeObserver& observer, TreeInfo& info, + bool functorsNeedLayer) { child->prepareTreeImpl(observer, info, functorsNeedLayer); + mHasHolePunches |= child->hasHolePunches(); }); if (isDirty) { damageSelf(info); } + } else { + mHasHolePunches = false; } pushLayerUpdate(info); |