[AChoreographer] Add missing vector::erase call
Otherwise we don't reduce the physical size of mRefreshRateCallbacks.
Bug: 136262896
Test: builds
Change-Id: I442a3fd7d41460f9e7617294df88cf7fb1efeab8
diff --git a/libs/nativedisplay/AChoreographer.cpp b/libs/nativedisplay/AChoreographer.cpp
index 7e71ede..cfed583 100644
--- a/libs/nativedisplay/AChoreographer.cpp
+++ b/libs/nativedisplay/AChoreographer.cpp
@@ -154,10 +154,11 @@
void Choreographer::unregisterRefreshRateCallback(AChoreographer_refreshRateCallback cb) {
{
AutoMutex _l{mLock};
- std::remove_if(mRefreshRateCallbacks.begin(), mRefreshRateCallbacks.end(),
- [&](const RefreshRateCallback& callback) {
- return cb == callback.callback;
- });
+ mRefreshRateCallbacks.erase(std::remove_if(mRefreshRateCallbacks.begin(),
+ mRefreshRateCallbacks.end(),
+ [&](const RefreshRateCallback& callback) {
+ return cb == callback.callback;
+ }));
if (mRefreshRateCallbacks.empty()) {
toggleConfigEvents(ISurfaceComposer::ConfigChanged::eConfigChangedSuppress);
}