From 8c6e17c2a9b0ad7864a261cc9a30b9623e20bdcb Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Mon, 17 Jun 2013 13:02:12 -0700 Subject: Check for layer renderer in flush bug:9310706 In some cases flush will occur after a layer is destroyed. Avoid trying to draw after putting the layer in the layer cache. Change-Id: I55d66f420e7354fe552c82eb3145a7d91b4441e3 --- libs/hwui/Layer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libs/hwui/Layer.cpp') diff --git a/libs/hwui/Layer.cpp b/libs/hwui/Layer.cpp index 7c22bbb6f973..4708af141ec4 100644 --- a/libs/hwui/Layer.cpp +++ b/libs/hwui/Layer.cpp @@ -214,7 +214,8 @@ void Layer::defer() { } void Layer::flush() { - if (deferredList) { + // renderer is checked as layer may be destroyed/put in layer cache with flush scheduled + if (deferredList && renderer) { renderer->setViewport(layer.getWidth(), layer.getHeight()); renderer->prepareDirty(dirtyRect.left, dirtyRect.top, dirtyRect.right, dirtyRect.bottom, !isBlend()); -- cgit v1.2.3-59-g8ed1b