Fix possible leaks in CanvasContext HintSessionWrapper Ensure the mHintSessionFuture is accounted for correctly in the destructor. Bug: b/297230599 Test: manual Change-Id: Idcbd0f2ba87290f090d693f0a64cb46fe8270b95 Merged-In: Idcbd0f2ba87290f090d693f0a64cb46fe8270b95 (cherry picked from commit ac620f64a32500890007b0b405ca72405d6db41e)
diff --git a/libs/hwui/renderthread/HintSessionWrapper.cpp b/libs/hwui/renderthread/HintSessionWrapper.cpp index 814ac4d..30e472a 100644 --- a/libs/hwui/renderthread/HintSessionWrapper.cpp +++ b/libs/hwui/renderthread/HintSessionWrapper.cpp
@@ -93,8 +93,13 @@ : mUiThreadId(uiThreadId), mRenderThreadId(renderThreadId) {} HintSessionWrapper::~HintSessionWrapper() { + if (mHintSessionFuture.valid()) { + mHintSession = mHintSessionFuture.get(); + } if (mHintSession) { gAPH_closeSessionFn(mHintSession); + mSessionValid = true; + mHintSession = nullptr; } }