summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Valerie Hau <vhau@google.com> 2020-01-10 08:41:15 -0800
committer Valerie Hau <vhau@google.com> 2020-01-10 08:41:15 -0800
commit783ec6803ca246ff5ccdf9809588f063b3107bb1 (patch)
tree6326c3162724361849c4ce2e0108378dadb9a4a2
parent7618b235019514a8546e22fe20a74bb34a7b1acd (diff)
unlinkToDeath only when the listener has no more callbacks
Bug: N/A Test: build, boot, SurfaceFlinger_test Change-Id: I2bbca0f781897967a18731ade3a3b4724f16d361
-rw-r--r--services/surfaceflinger/TransactionCompletedThread.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/services/surfaceflinger/TransactionCompletedThread.cpp b/services/surfaceflinger/TransactionCompletedThread.cpp
index 4c1baafa3b..1475889cd9 100644
--- a/services/surfaceflinger/TransactionCompletedThread.cpp
+++ b/services/surfaceflinger/TransactionCompletedThread.cpp
@@ -310,8 +310,8 @@ void TransactionCompletedThread::threadMain() {
// we get pointers that compare unequal in the SF process.
interface_cast<ITransactionCompletedListener>(listenerStats.listener)
->onTransactionCompleted(listenerStats);
- listener->unlinkToDeath(mDeathRecipient);
if (transactionStatsDeque.empty()) {
+ listener->unlinkToDeath(mDeathRecipient);
completedTransactionsItr =
mCompletedTransactions.erase(completedTransactionsItr);
} else {