From 9f5a1b6abd5d77923bf5e0f1c5e2816fdee832c2 Mon Sep 17 00:00:00 2001 From: Jesse Hall Date: Thu, 2 Oct 2014 11:09:03 -0700 Subject: [PATCH] Surface: cancel the dequeued buffer when requestBuffer fails Partial fix for bug: 17477219 Change-Id: Ibf5a9e26e02c4be8854925a77a70f5c9c7dcf6f2 --- libs/gui/Surface.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp index b56030e9e..0e2baa28f 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; } }