diff options
| author | 2012-08-20 08:55:04 -0700 | |
|---|---|---|
| committer | 2012-08-20 08:55:05 -0700 | |
| commit | 349149b52a424c212e33d165bc146bc0337ea4c4 (patch) | |
| tree | 553f08db1f8c2fc37179f690874ec0944ac740b1 /libs/gui | |
| parent | 6f89ebded650406818b5fc5e9eaf096a06a2798c (diff) | |
| parent | 47ad361cee48a026c8c3695da04aab75e1e7b925 (diff) | |
Merge "Fix error trap in SurfaceTexture Client"
Diffstat (limited to 'libs/gui')
| -rw-r--r-- | libs/gui/SurfaceTextureClient.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/libs/gui/SurfaceTextureClient.cpp b/libs/gui/SurfaceTextureClient.cpp index 36a81a6661..f60f9020c2 100644 --- a/libs/gui/SurfaceTextureClient.cpp +++ b/libs/gui/SurfaceTextureClient.cpp @@ -757,12 +757,16 @@ status_t SurfaceTextureClient::lock( ALOGW_IF(res, "failed locking buffer (handle = %p)", backBuffer->handle); - mLockedBuffer = backBuffer; - outBuffer->width = backBuffer->width; - outBuffer->height = backBuffer->height; - outBuffer->stride = backBuffer->stride; - outBuffer->format = backBuffer->format; - outBuffer->bits = vaddr; + if (res != 0) { + err = INVALID_OPERATION; + } else { + mLockedBuffer = backBuffer; + outBuffer->width = backBuffer->width; + outBuffer->height = backBuffer->height; + outBuffer->stride = backBuffer->stride; + outBuffer->format = backBuffer->format; + outBuffer->bits = vaddr; + } } } return err; |