From c3130a5bd9105c4c119e855010ec39605dcb3dcf Mon Sep 17 00:00:00 2001 From: Anton Ivanov Date: Wed, 5 Mar 2025 23:00:53 -0800 Subject: Avoid copying Transaction objects unneccessarily. Flag: EXEMPT refactor Bug: 385156191 Test: presubmit Change-Id: Ibd9d64bd7d41adbf5af0dacd660b6aaed6bc8741 --- libs/gui/BLASTBufferQueue.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libs/gui/BLASTBufferQueue.cpp') diff --git a/libs/gui/BLASTBufferQueue.cpp b/libs/gui/BLASTBufferQueue.cpp index 1aae13c1f4..5b0f21de91 100644 --- a/libs/gui/BLASTBufferQueue.cpp +++ b/libs/gui/BLASTBufferQueue.cpp @@ -1032,7 +1032,7 @@ void BLASTBufferQueue::mergeWithNextTransaction(SurfaceComposerClient::Transacti // Apply the transaction since we have already acquired the desired frame. t->setApplyToken(mApplyToken).apply(); } else { - mPendingTransactions.emplace_back(frameNumber, *t); + mPendingTransactions.emplace_back(frameNumber, std::move(*t)); // Clear the transaction so it can't be applied elsewhere. t->clear(); } @@ -1050,8 +1050,8 @@ void BLASTBufferQueue::applyPendingTransactions(uint64_t frameNumber) { void BLASTBufferQueue::mergePendingTransactions(SurfaceComposerClient::Transaction* t, uint64_t frameNumber) { auto mergeTransaction = - [&t, currentFrameNumber = frameNumber]( - std::tuple pendingTransaction) { + [t, currentFrameNumber = frameNumber]( + std::pair& pendingTransaction) { auto& [targetFrameNumber, transaction] = pendingTransaction; if (currentFrameNumber < targetFrameNumber) { return false; -- cgit v1.2.3-59-g8ed1b