From feec3b1a49dbf48bc792d39d004b42cf2c72b14c Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Thu, 25 May 2017 09:34:56 -0700 Subject: libgui: fix BQ buffer allocation error checking The error path was broken since we moved away from IGraphicBufferAlloc. Bug: 37956614 Test: simulate buffer allocation failures Change-Id: I1e1ec840fafd3075b84126c6dbf6194568175a42 --- libs/gui/BufferQueueProducer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libs/gui/BufferQueueProducer.cpp') diff --git a/libs/gui/BufferQueueProducer.cpp b/libs/gui/BufferQueueProducer.cpp index 6a5593cc1c..3d57769d1a 100644 --- a/libs/gui/BufferQueueProducer.cpp +++ b/libs/gui/BufferQueueProducer.cpp @@ -511,7 +511,7 @@ status_t BufferQueueProducer::dequeueBuffer(int *outSlot, { // Autolock scope Mutex::Autolock lock(mCore->mMutex); - if (graphicBuffer != NULL && !mCore->mIsAbandoned) { + if (error == NO_ERROR && !mCore->mIsAbandoned) { graphicBuffer->setGenerationNumber(mCore->mGenerationNumber); mSlots[*outSlot].mGraphicBuffer = graphicBuffer; } @@ -519,7 +519,7 @@ status_t BufferQueueProducer::dequeueBuffer(int *outSlot, mCore->mIsAllocating = false; mCore->mIsAllocatingCondition.broadcast(); - if (graphicBuffer == NULL) { + if (error != NO_ERROR) { mCore->mFreeSlots.insert(*outSlot); mCore->clearBufferSlotLocked(*outSlot); BQ_LOGE("dequeueBuffer: createGraphicBuffer failed"); -- cgit v1.2.3-59-g8ed1b