From fed164b49b629817c2a53f264b206ab02a73d079 Mon Sep 17 00:00:00 2001 From: Ady Abraham Date: Fri, 10 May 2019 17:12:54 -0700 Subject: SurfaceFlinger: insert RefreshRateOverlay layer in the correct place Reinsert RefreshRateOverlay layer to layersSortedByZ when setting Z to keep layersSortedByZ sorted. Test: adb shell service call SurfaceFlinger 1034 i32 1 + screen rotate Bug: 131211294 Change-Id: I40b8f33b6edda7fc8840e4db839c9c0665068c8c --- services/surfaceflinger/SurfaceFlinger.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'services/surfaceflinger/SurfaceFlinger.cpp') diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 661c889ac2..70e15c92b5 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -5432,9 +5432,13 @@ status_t SurfaceFlinger::onTransact(uint32_t code, const Parcel& data, Parcel* r // TODO(b/129297325): expose this via developer menu option n = data.readInt32(); if (n && !mRefreshRateOverlay) { - std::lock_guard lock(mActiveConfigLock); + RefreshRateType type; + { + std::lock_guard lock(mActiveConfigLock); + type = mDesiredActiveConfig.type; + } mRefreshRateOverlay = std::make_unique(*this); - mRefreshRateOverlay->changeRefreshRate(mDesiredActiveConfig.type); + mRefreshRateOverlay->changeRefreshRate(type); } else if (!n) { mRefreshRateOverlay.reset(); } -- cgit v1.2.3-59-g8ed1b