diff --git a/include/gui/SurfaceTexture.h b/include/gui/SurfaceTexture.h index 0a83ce6af..98741c550 100644 --- a/include/gui/SurfaceTexture.h +++ b/include/gui/SurfaceTexture.h @@ -248,7 +248,7 @@ private: // slot and destroy the EGLImage in that slot. Otherwise it has no effect. // // This method must be called with mMutex locked. - void freeBufferLocked(int slotIndex); + virtual void freeBufferLocked(int slotIndex); // computeCurrentTransformMatrix computes the transform matrix for the // current texture. It uses mCurrentTransform and the current GraphicBuffer diff --git a/libs/gui/SurfaceTexture.cpp b/libs/gui/SurfaceTexture.cpp index 451ccc26e..0579a3dec 100644 --- a/libs/gui/SurfaceTexture.cpp +++ b/libs/gui/SurfaceTexture.cpp @@ -710,6 +710,7 @@ void SurfaceTexture::freeBufferLocked(int slotIndex) { eglDestroyImageKHR(mEglDisplay, img); } mEglSlots[slotIndex].mEglImage = EGL_NO_IMAGE_KHR; + ConsumerBase::freeBufferLocked(slotIndex); } void SurfaceTexture::abandonLocked() {