summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2014-10-02 11:09:03 -0700
committerJesse Hall <jessehall@google.com>2014-10-02 18:16:19 +0000
commit9f5a1b6abd5d77923bf5e0f1c5e2816fdee832c2 (patch)
tree3345b2d953285216c558b16b0c2b4db0ee8b54c5
parent5ee2c9d20c0fbecf6b4a482eb8d8bfdf85d0d424 (diff)
downloadnative-9f5a1b6abd5d77923bf5e0f1c5e2816fdee832c2.tar.gz
Surface: cancel the dequeued buffer when requestBuffer fails
Partial fix for bug: 17477219 Change-Id: Ibf5a9e26e02c4be8854925a77a70f5c9c7dcf6f2
-rw-r--r--libs/gui/Surface.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp
index b56030e9ea..0e2baa28fd 100644
--- a/libs/gui/Surface.cpp
+++ b/libs/gui/Surface.cpp
@@ -237,6 +237,7 @@ int Surface::dequeueBuffer(android_native_buffer_t** buffer, int* fenceFd) {
result = mGraphicBufferProducer->requestBuffer(buf, &gbuf);
if (result != NO_ERROR) {
ALOGE("dequeueBuffer: IGraphicBufferProducer::requestBuffer failed: %d", result);
+ mGraphicBufferProducer->cancelBuffer(buf, fence);
return result;
}
}