Merge "Remove from top layer list if re-parenting top layer."
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 4acd448..59ac0ec 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -3224,7 +3224,11 @@
// changed, we don't want this to cause any more work
}
if (what & layer_state_t::eReparent) {
+ bool hadParent = layer->hasParent();
if (layer->reparent(s.parentHandleForChild)) {
+ if (!hadParent) {
+ mCurrentState.layersSortedByZ.remove(layer);
+ }
flags |= eTransactionNeeded|eTraversalNeeded;
}
}