OSDN Git Service

SurfaceTexture: free buffers when disconnect fails
authorJamie Gennis <jgennis@google.com>
Wed, 19 Oct 2011 00:14:33 +0000 (17:14 -0700)
committerJamie Gennis <jgennis@google.com>
Wed, 19 Oct 2011 00:14:33 +0000 (17:14 -0700)
This change makes SurfaceTextureClient free its references to all the
buffers even when the disconnect binder call to the SurfaceTexture
fails.

Bug: 5384823
Change-Id: Iad787fbae5fda4769546fd52276e4e4030c62be6

libs/gui/SurfaceTextureClient.cpp

index 0bee0f1..98fa171 100644 (file)
@@ -409,9 +409,9 @@ int SurfaceTextureClient::connect(int api) {
 int SurfaceTextureClient::disconnect(int api) {
     LOGV("SurfaceTextureClient::disconnect");
     Mutex::Autolock lock(mMutex);
+    freeAllBuffers();
     int err = mSurfaceTexture->disconnect(api);
     if (!err) {
-        freeAllBuffers();
         mReqFormat = 0;
         mReqWidth = 0;
         mReqHeight = 0;