From dbe6486ca151d0eb1950be0aae347f0eb8ed3442 Mon Sep 17 00:00:00 2001 From: Jamie Gennis Date: Sat, 30 Jul 2011 14:33:49 -0700 Subject: SurfaceFlinger: abandon Layer SurfaceTextures This change makes the Layer::onRemoved method call SurfaceTextures::abandon on the layer's SurfaceTexture. This will cause all client-initiated operations on the SurfaceTexture to fail. In particular, this will result in an error on the client side, rather than a deadlock when removing a layer that used a SurfaceTexture in synchronous mode. Change-Id: I14014d00369f29560a21b606831edee432bb8867 Bug: 5020874 --- services/surfaceflinger/Layer.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'services/surfaceflinger/Layer.cpp') diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp index 63062cc037..886bb2afeb 100644 --- a/services/surfaceflinger/Layer.cpp +++ b/services/surfaceflinger/Layer.cpp @@ -105,6 +105,7 @@ void Layer::onFrameQueued() { // in the purgatory list void Layer::onRemoved() { + mSurfaceTexture->abandon(); } sp Layer::createSurface() -- cgit v1.2.3-59-g8ed1b