Prevent race condition while switching surfaces (flutter/engine#24838)

This commit is contained in:
Emmanuel Garcia 2021-03-05 21:50:13 -08:00 committed by GitHub
parent 61580a2583
commit 503af63aef
2 changed files with 3 additions and 4 deletions

View File

@ -118,9 +118,6 @@ public class FlutterImageView extends View implements RenderSurface {
*/
@Override
public void attachToRenderer(@NonNull FlutterRenderer flutterRenderer) {
if (isAttachedToFlutterRenderer) {
return;
}
switch (kind) {
case background:
flutterRenderer.swapSurface(imageReader.getSurface());

View File

@ -1068,7 +1068,9 @@ public class FlutterView extends FrameLayout implements MouseCursorPlugin.MouseC
public void onFlutterUiDisplayed() {
renderer.removeIsDisplayingFlutterUiListener(this);
onDone.run();
flutterImageView.detachFromRenderer();
if (!(renderSurface instanceof FlutterImageView)) {
flutterImageView.detachFromRenderer();
}
}
@Override