diff options
| author | 2017-05-25 09:34:56 -0700 | |
|---|---|---|
| committer | 2017-05-25 10:31:05 -0700 | |
| commit | feec3b1a49dbf48bc792d39d004b42cf2c72b14c (patch) | |
| tree | 2ad321e3c23920a1732e09a212c4592e4c97c764 /libs/gui/BufferQueueProducer.cpp | |
| parent | d8ac4fd17a71b8b523121186b8a03212cd5122fe (diff) | |
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
Diffstat (limited to 'libs/gui/BufferQueueProducer.cpp')
| -rw-r--r-- | libs/gui/BufferQueueProducer.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
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"); |