diff options
author | Huihong Luo <huisinro@google.com> | 2021-06-24 10:04:32 -0700 |
---|---|---|
committer | Huihong Luo <huisinro@google.com> | 2021-06-24 11:10:06 -0700 |
commit | 4df4151bc0b45208bb0318dca2f03b8ff036a1ce (patch) | |
tree | c863bde09315c25664e2a1b12d5b417b739a710f /libs/hwui/renderthread/CanvasContext.cpp | |
parent | ef1bb2c9fab128b2a9ee869f295b41954629b98f (diff) |
Fix a crash caused by transaction
A native transaction passed from webview is sent back to native side, so java side does not manage the life cycle of the transaction.
Bug: 191414767
Test: Play a video, switch to another app, wait for 10 seconds
Change-Id: I013052c202b445438d6cb6497f5f9a2fc22a2b85
Diffstat (limited to 'libs/hwui/renderthread/CanvasContext.cpp')
-rw-r--r-- | libs/hwui/renderthread/CanvasContext.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index 44d0038ad47e..0c9711ba8025 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -910,9 +910,8 @@ CanvasContext* CanvasContext::getActiveContext() { bool CanvasContext::mergeTransaction(ASurfaceTransaction* transaction, ASurfaceControl* control) { if (!mASurfaceTransactionCallback) return false; - std::invoke(mASurfaceTransactionCallback, reinterpret_cast<int64_t>(transaction), - reinterpret_cast<int64_t>(control), getFrameNumber()); - return true; + return std::invoke(mASurfaceTransactionCallback, reinterpret_cast<int64_t>(transaction), + reinterpret_cast<int64_t>(control), getFrameNumber()); } void CanvasContext::prepareSurfaceControlForWebview() { |