diff options
author | 2025-02-13 22:57:24 -0800 | |
---|---|---|
committer | 2025-02-17 17:52:19 -0800 | |
commit | 81793808b9347a52dd979e4b3d5d9d10fc8c4915 (patch) | |
tree | 51529ad19b47e374dcfe15cab26f910a6c4f5319 /libs/gui/SurfaceControl.cpp | |
parent | f6dc8535293c1614e9c08e6416fe67a3514ed0e8 (diff) |
Harden construction sites of android::StrongPointer.
Bug: 393217449
Test: presubmit
Flag: EXEMPT_refactor
Change-Id: Icf703aed608531e9b302b299481af00a52074731
Diffstat (limited to 'libs/gui/SurfaceControl.cpp')
-rw-r--r-- | libs/gui/SurfaceControl.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libs/gui/SurfaceControl.cpp b/libs/gui/SurfaceControl.cpp index b735418d4b..ba2d80d1b3 100644 --- a/libs/gui/SurfaceControl.cpp +++ b/libs/gui/SurfaceControl.cpp @@ -269,10 +269,11 @@ status_t SurfaceControl::readFromParcel(const Parcel& parcel, SAFE_PARCEL(parcel.readUint32, &format); // We aren't the original owner of the surface. - *outSurfaceControl = new SurfaceControl(new SurfaceComposerClient( - interface_cast<ISurfaceComposerClient>(client)), - handle.get(), layerId, layerName, width, height, format, - transformHint); + *outSurfaceControl = + sp<SurfaceControl>::make(sp<SurfaceComposerClient>::make( + interface_cast<ISurfaceComposerClient>(client)), + handle, layerId, layerName, width, height, format, + transformHint); return NO_ERROR; } @@ -303,7 +304,7 @@ sp<SurfaceControl> SurfaceControl::getParentingLayer() { if (mBbqChild != nullptr) { return mBbqChild; } - return this; + return sp<SurfaceControl>::fromExisting(this); } uint64_t SurfaceControl::resolveFrameNumber(const std::optional<uint64_t>& frameNumber) { |