summaryrefslogtreecommitdiff
path: root/libs/gui
diff options
context:
space:
mode:
author Jean-Baptiste Queru <jbq@google.com> 2012-08-20 08:55:04 -0700
committer android code review <noreply-gerritcodereview@google.com> 2012-08-20 08:55:05 -0700
commit349149b52a424c212e33d165bc146bc0337ea4c4 (patch)
tree553f08db1f8c2fc37179f690874ec0944ac740b1 /libs/gui
parent6f89ebded650406818b5fc5e9eaf096a06a2798c (diff)
parent47ad361cee48a026c8c3695da04aab75e1e7b925 (diff)
Merge "Fix error trap in SurfaceTexture Client"
Diffstat (limited to 'libs/gui')
-rw-r--r--libs/gui/SurfaceTextureClient.cpp16
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;