diff options
author | 2025-03-05 23:00:53 -0800 | |
---|---|---|
committer | 2025-03-14 14:05:19 -0700 | |
commit | c3130a5bd9105c4c119e855010ec39605dcb3dcf (patch) | |
tree | 79c83dabafd411d5d272e7627351997945ed9091 /libs/gui/SurfaceComposerClient.cpp | |
parent | 11a92a99db63fafe9efe05607e8d93fb9bc31950 (diff) |
Avoid copying Transaction objects unneccessarily.
Flag: EXEMPT refactor
Bug: 385156191
Test: presubmit
Change-Id: Ibd9d64bd7d41adbf5af0dacd660b6aaed6bc8741
Diffstat (limited to 'libs/gui/SurfaceComposerClient.cpp')
-rw-r--r-- | libs/gui/SurfaceComposerClient.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp index 65313c0fac..359a5288a6 100644 --- a/libs/gui/SurfaceComposerClient.cpp +++ b/libs/gui/SurfaceComposerClient.cpp @@ -828,11 +828,10 @@ SurfaceComposerClient::Transaction::Transaction() { mTransactionCompletedListener = TransactionCompletedListener::getInstance(); } -SurfaceComposerClient::Transaction::Transaction(const Transaction& other) { - mState = other.mState; - mListenerCallbacks = other.mListenerCallbacks; - mTransactionCompletedListener = TransactionCompletedListener::getInstance(); -} +SurfaceComposerClient::Transaction::Transaction(Transaction&& other) + : mTransactionCompletedListener(TransactionCompletedListener::getInstance()), + mState(std::move(other.mState)), + mListenerCallbacks(std::move(other.mListenerCallbacks)) {} void SurfaceComposerClient::Transaction::sanitize(int pid, int uid) { uint32_t permissions = LayerStatePermissions::getTransactionPermissions(pid, uid); |