SF: Reparent for screehshots should only be called on old parent layers

During a reparenting, a parent's children do not change, instead only the child's
reference to its parents change.

Bug: 124389032, 124372894
Test: go/wm-smoke
Test:build and run aosp_cf_x86_pasan
Change-Id: Ibceb036b8927eef143d9e544ac850c7c6379e1fe
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index c98220d..d425436 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -5583,7 +5583,7 @@
                 newParent->computeBounds(drawingBounds.toFloatRect(), ui::Transform());
                 oldParent->setChildrenDrawingParent(newParent);
             }
-            ~ReparentForDrawing() { newParent->setChildrenDrawingParent(oldParent); }
+            ~ReparentForDrawing() { oldParent->setChildrenDrawingParent(oldParent); }
         };
 
         void render(std::function<void()> drawLayers) override {