Loading services/surfaceflinger/TransactionCompletedThread.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -197,8 +197,14 @@ status_t TransactionCompletedThread::addCallbackHandle(const sp<CallbackHandle>& } transactionStats->latchTime = handle->latchTime; transactionStats->surfaceStats.emplace_back(handle->surfaceControl, handle->acquireTime, // If the layer has already been destroyed, don't add the SurfaceControl to the callback. // The client side keeps a sp<> to the SurfaceControl so if the SurfaceControl has been // destroyed the client side is dead and there won't be anyone to send the callback to. sp<IBinder> surfaceControl = handle->surfaceControl.promote(); if (surfaceControl) { transactionStats->surfaceStats.emplace_back(surfaceControl, handle->acquireTime, handle->previousReleaseFence); } return NO_ERROR; } Loading services/surfaceflinger/TransactionCompletedThread.h +1 −1 Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ public: sp<ITransactionCompletedListener> listener; std::vector<CallbackId> callbackIds; sp<IBinder> surfaceControl; wp<IBinder> surfaceControl; bool releasePreviousBuffer = false; sp<Fence> previousReleaseFence; Loading Loading
services/surfaceflinger/TransactionCompletedThread.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -197,8 +197,14 @@ status_t TransactionCompletedThread::addCallbackHandle(const sp<CallbackHandle>& } transactionStats->latchTime = handle->latchTime; transactionStats->surfaceStats.emplace_back(handle->surfaceControl, handle->acquireTime, // If the layer has already been destroyed, don't add the SurfaceControl to the callback. // The client side keeps a sp<> to the SurfaceControl so if the SurfaceControl has been // destroyed the client side is dead and there won't be anyone to send the callback to. sp<IBinder> surfaceControl = handle->surfaceControl.promote(); if (surfaceControl) { transactionStats->surfaceStats.emplace_back(surfaceControl, handle->acquireTime, handle->previousReleaseFence); } return NO_ERROR; } Loading
services/surfaceflinger/TransactionCompletedThread.h +1 −1 Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ public: sp<ITransactionCompletedListener> listener; std::vector<CallbackId> callbackIds; sp<IBinder> surfaceControl; wp<IBinder> surfaceControl; bool releasePreviousBuffer = false; sp<Fence> previousReleaseFence; Loading