summaryrefslogtreecommitdiff
path: root/libs/hwui/RenderNode.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2017-08-02 16:11:43 -0700
committerJohn Reck <jreck@google.com>2017-08-02 16:15:24 -0700
commit679e7f1dfc851f559c98ecfdfba7937dbc03c378 (patch)
treebdde5accd47e59ae246c8c5b85fecef9653faf62 /libs/hwui/RenderNode.cpp
parent6ff61dbc5101fb066cdbb7efe3b4f26ac27ddf34 (diff)
Add check that layer size <= maxTextureSize
Ensure that RenderNode fitsOnLayer() is true before assigning it a layer. Bug: 63814070 Test: repro steps in bug no longer crash Change-Id: I28bb2cb173a5efde24e2384f2606fea85b394ac8
Diffstat (limited to 'libs/hwui/RenderNode.cpp')
-rw-r--r--libs/hwui/RenderNode.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp
index 55eeb7fa2073..61b3876cd095 100644
--- a/libs/hwui/RenderNode.cpp
+++ b/libs/hwui/RenderNode.cpp
@@ -241,7 +241,8 @@ void RenderNode::pushLayerUpdate(TreeInfo& info) {
if (CC_LIKELY(layerType != LayerType::RenderLayer)
|| CC_UNLIKELY(!isRenderable())
|| CC_UNLIKELY(properties().getWidth() == 0)
- || CC_UNLIKELY(properties().getHeight() == 0)) {
+ || CC_UNLIKELY(properties().getHeight() == 0)
+ || CC_UNLIKELY(!properties().fitsOnLayer())) {
if (CC_UNLIKELY(hasLayer())) {
renderthread::CanvasContext::destroyLayer(this);
}