From f76d36f96bf221672e98e440c9df7cbf0e02e84e Mon Sep 17 00:00:00 2001 From: Sangkyu Lee Date: Fri, 21 Nov 2014 18:05:41 +0900 Subject: Prevent calling GL functions with an invalid surface When destroying CanvasContext, the surface can be invalid state. So the surface should be updated to null prior to destroying GL resources to ensure that GL functions are not called with an invalid surface. Some GL implementation makes an error if GL functions are called with an invalid surface. (Adreno 3xx) Change-Id: Ie6f6ea081ec931fc9df30b2c3ed066ec1ae9d294 --- libs/hwui/renderthread/CanvasContext.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index b50a43378599..92a30e5dd29a 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -59,6 +59,7 @@ CanvasContext::~CanvasContext() { void CanvasContext::destroy() { stopDrawing(); + setSurface(NULL); freePrefetechedLayers(); destroyHardwareResources(); mAnimationContext->destroy(); @@ -66,7 +67,6 @@ void CanvasContext::destroy() { delete mCanvas; mCanvas = 0; } - setSurface(NULL); } void CanvasContext::setSurface(ANativeWindow* window) { -- cgit v1.2.3-59-g8ed1b