summaryrefslogtreecommitdiff
path: root/libs/hwui/DeferredLayerUpdater.cpp
diff options
context:
space:
mode:
author sergeyv <sergeyv@google.com> 2017-02-02 12:57:30 -0800
committer sergeyv <sergeyv@google.com> 2017-02-02 12:57:30 -0800
commitdb92bb71d05caf674b527e6f479ddf276d1d7767 (patch)
treeb769e2e0d7c9e93678445783a5559c9641f1ec09 /libs/hwui/DeferredLayerUpdater.cpp
parentfafdb7372fe0da277a32b47cff825dbb244e4af0 (diff)
Check if layer is created in detachSurfaceTexture
Test: manual bug:34937475 Change-Id: Iaab7a341917456b40427efd2746d33ddd88514d1
Diffstat (limited to 'libs/hwui/DeferredLayerUpdater.cpp')
-rw-r--r--libs/hwui/DeferredLayerUpdater.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/hwui/DeferredLayerUpdater.cpp b/libs/hwui/DeferredLayerUpdater.cpp
index ee7764302c38..415e850d0fe8 100644
--- a/libs/hwui/DeferredLayerUpdater.cpp
+++ b/libs/hwui/DeferredLayerUpdater.cpp
@@ -169,13 +169,15 @@ void DeferredLayerUpdater::updateLayer(bool forceFilter, GLenum renderTarget,
void DeferredLayerUpdater::detachSurfaceTexture() {
if (mSurfaceTexture.get()) {
- if (mLayer->getApi() == Layer::Api::OpenGL) {
+ if (mLayerApi == Layer::Api::OpenGL) {
status_t err = mSurfaceTexture->detachFromContext();
if (err != 0) {
// TODO: Elevate to fatal exception
ALOGE("Failed to detach SurfaceTexture from context %d", err);
}
- static_cast<GlLayer*>(mLayer)->clearTexture();
+ if (mLayer) {
+ static_cast<GlLayer*>(mLayer)->clearTexture();
+ }
}
mSurfaceTexture = nullptr;
}