diff --git a/libs/gui/SurfaceTextureClient.cpp b/libs/gui/SurfaceTextureClient.cpp index 0bee0f17c..98fa17174 100644 --- a/libs/gui/SurfaceTextureClient.cpp +++ b/libs/gui/SurfaceTextureClient.cpp @@ -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;