Check if layer is created in detachSurfaceTexture

Test: manual
bug:34937475
Change-Id: Iaab7a341917456b40427efd2746d33ddd88514d1
This commit is contained in:
sergeyv
2017-02-02 12:57:30 -08:00
parent fafdb7372f
commit db92bb71d0

View File

@@ -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;
}