diff options
-rw-r--r-- | libs/gui/ConsumerBase.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/gui/ConsumerBase.cpp b/libs/gui/ConsumerBase.cpp index 8acdfed8f5..d4e4dc3616 100644 --- a/libs/gui/ConsumerBase.cpp +++ b/libs/gui/ConsumerBase.cpp @@ -287,6 +287,9 @@ status_t ConsumerBase::acquireBufferLocked(BufferItem *item, } if (item->mGraphicBuffer != NULL) { + if (mSlots[item->mSlot].mGraphicBuffer != NULL) { + freeBufferLocked(item->mSlot); + } mSlots[item->mSlot].mGraphicBuffer = item->mGraphicBuffer; } |