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

Commit f0cf5f10 authored by Jamie Gennis's avatar Jamie Gennis
Browse files

BufferQueue: fix a test crash

Bug: 10935880
Change-Id: If76e9fb055103bad0db7e6c16487532671573149
parent a9c47f32
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -668,11 +668,15 @@ status_t BufferQueue::connect(const sp<IBinder>& token,
                mConnectedApi = api;
                output->inflate(mDefaultWidth, mDefaultHeight, mTransformHint, mQueue.size());

                // set-up a death notification so that we can disconnect automatically
                // when/if the remote producer dies.
                // This will fail with INVALID_OPERATION if the "token" is local to our process.
                if (token->linkToDeath(static_cast<IBinder::DeathRecipient*>(this)) == NO_ERROR) {
                // set-up a death notification so that we can disconnect
                // automatically when/if the remote producer dies.
                if (token != NULL && token->remoteBinder() != NULL) {
                    status_t err = token->linkToDeath(static_cast<IBinder::DeathRecipient*>(this));
                    if (err == NO_ERROR) {
                        mConnectedProducerToken = token;
                    } else {
                        ALOGE("linkToDeath failed: %s (%d)", strerror(-err), err);
                    }
                }
            }
            break;