summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2019-12-17 21:49:01 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-12-17 21:49:01 +0000
commit2942fce2cda6629556c7afcc9bd4c359778d3c97 (patch)
tree388eb6b889d960cf07253820928a54de4df8dc92
parenta6a4ed3aadbd4afda761a212907d81baedba4981 (diff)
parentdfca3ecce2a0c045aa943fc4dfd6d2d33d43a1e0 (diff)
Merge "Fix callback drop"
-rw-r--r--services/surfaceflinger/TransactionCompletedThread.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/services/surfaceflinger/TransactionCompletedThread.cpp b/services/surfaceflinger/TransactionCompletedThread.cpp
index 8db03db7e8..4c1baafa3b 100644
--- a/services/surfaceflinger/TransactionCompletedThread.cpp
+++ b/services/surfaceflinger/TransactionCompletedThread.cpp
@@ -311,8 +311,16 @@ void TransactionCompletedThread::threadMain() {
interface_cast<ITransactionCompletedListener>(listenerStats.listener)
->onTransactionCompleted(listenerStats);
listener->unlinkToDeath(mDeathRecipient);
+ if (transactionStatsDeque.empty()) {
+ completedTransactionsItr =
+ mCompletedTransactions.erase(completedTransactionsItr);
+ } else {
+ completedTransactionsItr++;
+ }
+ } else {
+ completedTransactionsItr =
+ mCompletedTransactions.erase(completedTransactionsItr);
}
- completedTransactionsItr = mCompletedTransactions.erase(completedTransactionsItr);
} else {
completedTransactionsItr++;
}