diff options
author | 2019-12-17 21:49:01 +0000 | |
---|---|---|
committer | 2019-12-17 21:49:01 +0000 | |
commit | 2942fce2cda6629556c7afcc9bd4c359778d3c97 (patch) | |
tree | 388eb6b889d960cf07253820928a54de4df8dc92 | |
parent | a6a4ed3aadbd4afda761a212907d81baedba4981 (diff) | |
parent | dfca3ecce2a0c045aa943fc4dfd6d2d33d43a1e0 (diff) |
Merge "Fix callback drop"
-rw-r--r-- | services/surfaceflinger/TransactionCompletedThread.cpp | 10 |
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++; } |