SurfaceControlViewHost: Let ViewRoot release control.

In SurfaceControlViewHost#release we currently immediately
release mSurfaceControl and then call ViewRootImpl#doDie.
However doDie executes on a handler so the ViewRootImpl may try
and use the SurfaceControl between posting and executing
the message. Actually this release is totally erroneous,
mSurfaceControl is the same object used by the ViewRootImpl
and the ViewRootImpl will release it when processing
doDie().

Bug: 155575445
Test: Existing tests pass
Change-Id: I6a4bf41ba38636ff884aa73d2653b1bab6958b00
This commit is contained in:
Robert Carr
2020-05-04 11:23:29 -07:00
parent fccec793d3
commit 8644050a99

View File

@@ -264,8 +264,8 @@ public class SurfaceControlViewHost {
* and render the object unusable.
*/
public void release() {
// ViewRoot will release mSurfaceControl for us.
mViewRoot.die(false /* immediate */);
mSurfaceControl.release();
}
/**