summaryrefslogtreecommitdiffstats
path: root/libs/hwui
diff options
context:
space:
mode:
authorSangkyu Lee <sk82.lee@lge.com>2014-11-21 18:05:41 +0900
committerJohn Reck <jreck@google.com>2014-12-01 21:38:34 +0000
commita12b2405df5c12363e24cebc684f5f3a5c9a5b7b (patch)
tree395524d5f2413969c38197aa7db765e45e29c655 /libs/hwui
parent6cacf44e7ecfe50097adc99dab97c3fb9770a1af (diff)
downloadframeworks_base-a12b2405df5c12363e24cebc684f5f3a5c9a5b7b.zip
frameworks_base-a12b2405df5c12363e24cebc684f5f3a5c9a5b7b.tar.gz
frameworks_base-a12b2405df5c12363e24cebc684f5f3a5c9a5b7b.tar.bz2
Prevent calling GL functions with an invalid surface
Bug: 18518580 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) Cherry picked from AOSP: f76d36f96bf221672e98e440c9df7cbf0e02e84e Change-Id: Ie6f6ea081ec931fc9df30b2c3ed066ec1ae9d294
Diffstat (limited to 'libs/hwui')
-rw-r--r--libs/hwui/renderthread/CanvasContext.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index 39528be..aa32541 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -60,6 +60,7 @@ CanvasContext::~CanvasContext() {
void CanvasContext::destroy() {
stopDrawing();
+ setSurface(NULL);
freePrefetechedLayers();
destroyHardwareResources();
mAnimationContext->destroy();
@@ -67,7 +68,6 @@ void CanvasContext::destroy() {
delete mCanvas;
mCanvas = 0;
}
- setSurface(NULL);
}
void CanvasContext::setSurface(ANativeWindow* window) {