diff options
| author | 2014-11-06 19:22:28 +0000 | |
|---|---|---|
| committer | 2014-11-06 19:22:28 +0000 | |
| commit | be70c7713df98d81e9e43af9e76e0e6d018a4339 (patch) | |
| tree | f61d49c0e935ff423d90392ba24d2adfca00a275 /libs/hwui/RenderNode.cpp | |
| parent | 843133cd835b2923453bba95599aefa48fe8cb20 (diff) | |
| parent | 327cb3184d5f5d9f22db9ab18a07bb71081bb446 (diff) | |
am 327cb318: Merge "Yank ResourceCache out of Caches" into lmp-mr1-dev automerge: 9c13b8c
* commit '327cb3184d5f5d9f22db9ab18a07bb71081bb446':
Yank ResourceCache out of Caches
Diffstat (limited to 'libs/hwui/RenderNode.cpp')
| -rw-r--r-- | libs/hwui/RenderNode.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp index c9ed9a7d780b..13c54993a6e4 100644 --- a/libs/hwui/RenderNode.cpp +++ b/libs/hwui/RenderNode.cpp @@ -98,9 +98,6 @@ void RenderNode::setStagingDisplayList(DisplayListData* data) { mNeedsDisplayListDataSync = true; delete mStagingDisplayListData; mStagingDisplayListData = data; - if (mStagingDisplayListData) { - Caches::getInstance().registerFunctors(mStagingDisplayListData->functors.size()); - } } /** @@ -305,6 +302,10 @@ void RenderNode::pushStagingDisplayListChanges(TreeInfo& info) { // changes in isRenderable or, in the future, bounds damageSelf(info); deleteDisplayListData(); + // TODO: Remove this caches stuff + if (mStagingDisplayListData && mStagingDisplayListData->functors.size()) { + Caches::getInstance().registerFunctors(mStagingDisplayListData->functors.size()); + } mDisplayListData = mStagingDisplayListData; mStagingDisplayListData = NULL; if (mDisplayListData) { @@ -321,6 +322,9 @@ void RenderNode::deleteDisplayListData() { for (size_t i = 0; i < mDisplayListData->children().size(); i++) { mDisplayListData->children()[i]->mRenderNode->decParentRefCount(); } + if (mDisplayListData->functors.size()) { + Caches::getInstance().unregisterFunctors(mDisplayListData->functors.size()); + } } delete mDisplayListData; mDisplayListData = NULL; |