diff options
author | 2017-02-02 12:57:30 -0800 | |
---|---|---|
committer | 2017-02-02 12:57:30 -0800 | |
commit | db92bb71d05caf674b527e6f479ddf276d1d7767 (patch) | |
tree | b769e2e0d7c9e93678445783a5559c9641f1ec09 /libs/hwui/DeferredLayerUpdater.cpp | |
parent | fafdb7372fe0da277a32b47cff825dbb244e4af0 (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.cpp | 6 |
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; } |