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

Commit b73e4954 authored by Rob Carr's avatar Rob Carr Committed by Android (Google) Code Review
Browse files

Merge "SurfaceControl: Allow calling destroy when mOwned is true"

parents 80c7d5a3 8b6b3218
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -63,6 +63,8 @@ SurfaceControl::SurfaceControl(const sp<SurfaceControl>& other) {

SurfaceControl::~SurfaceControl()
{
    // Avoid reparenting the server-side surface to null if we are not the owner of it,
    // meaning that we retrieved it from another process.
    if (mClient != nullptr && mHandle != nullptr && mOwned) {
        SurfaceComposerClient::doDropReferenceTransaction(mHandle, mClient->getClient());
    }
@@ -74,9 +76,7 @@ SurfaceControl::~SurfaceControl()

void SurfaceControl::destroy()
{
    // Avoid destroying the server-side surface if we are not the owner of it, meaning that we
    // retrieved it from another process.
    if (isValid() && mOwned) {
    if (isValid()) {
        SurfaceComposerClient::Transaction().reparent(this, nullptr).apply();
    }
    // clear all references and trigger an IPC now, to make sure things