summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2014-10-02 11:09:03 -0700
committerThe Android Automerger <android-build@google.com>2014-10-02 17:00:32 -0700
commit4bd1c416204868f143eb03c2bc6227e38f69dc90 (patch)
treec571bf89a8ee900c0f83a658a1bd9d98133ed890
parent78d43d681db8b3a81f07b217c8a3fad3afe14086 (diff)
downloadnative-4bd1c416204868f143eb03c2bc6227e38f69dc90.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;
}
}