SurfaceFlinger: Do not capture rounded corners on screenshots
Fixes a regression that arose because we no longer properly
checked for the layerStack when traversing the layers for
screenshotting.
Bug: 72111097
Test: Take screenshot, verify rounded corner overlays do not appear.
Change-Id: Ifc178247fe5b72376c56a0a1d347d7bd04784cae
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index f21a691..0fd5050 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -4645,6 +4645,9 @@
continue;
}
layer->traverseInZOrder(LayerVector::StateSet::Drawing, [&](Layer* layer) {
+ if (!layer->belongsToDisplay(hw->getLayerStack(), false)) {
+ return;
+ }
if (!layer->isVisible()) {
return;
}