Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 73e8b9e5 authored by Jamie Gennis's avatar Jamie Gennis
Browse files

Compare GraphicBuffers using handles.

This change fixes a bug in SurfaceTextureClient where GraphicBuffers
were being compared using pointer comparison rather than handles.

Change-Id: Ib8989af94be32d4efd86e020a732f5143088a863
parent bcb3e57e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -111,7 +111,7 @@ int SurfaceTextureClient::cancelBuffer(android_native_buffer_t* buffer) {
    LOGV("SurfaceTextureClient::cancelBuffer");
    Mutex::Autolock lock(mMutex);
    for (int i = 0; i < NUM_BUFFER_SLOTS; i++) {
        if (mSlots[i].get() == buffer) {
        if (mSlots[i]->handle == buffer->handle) {
            mSurfaceTexture->cancelBuffer(i);
            return OK;
        }
@@ -129,7 +129,7 @@ int SurfaceTextureClient::queueBuffer(android_native_buffer_t* buffer) {
    LOGV("SurfaceTextureClient::queueBuffer");
    Mutex::Autolock lock(mMutex);
    for (int i = 0; i < NUM_BUFFER_SLOTS; i++) {
        if (mSlots[i].get() == GraphicBuffer::getSelf(buffer)) {
        if (mSlots[i]->handle == buffer->handle) {
            return mSurfaceTexture->queueBuffer(i);
        }
    }