From eed424530d916cf3c91f39529cbe3deaa0bfb79f Mon Sep 17 00:00:00 2001 From: Ben Doherty Date: Mon, 24 Sep 2018 13:52:36 -0700 Subject: [PATCH] Fix race condition in FilamentPanel (#287) --- java/src/java/com/google/android/filament/FilamentPanel.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/java/src/java/com/google/android/filament/FilamentPanel.java b/java/src/java/com/google/android/filament/FilamentPanel.java index ed36925bff..945f42be38 100644 --- a/java/src/java/com/google/android/filament/FilamentPanel.java +++ b/java/src/java/com/google/android/filament/FilamentPanel.java @@ -197,6 +197,11 @@ public class FilamentPanel extends JPanel implements FilamentTarget { if (mNativeSurface == null) { return; } + + // Previous frames using this surface may still be in the pipeline, so we must wait for + // them to finish. + engine.flushAndWait(); + mNativeSurface.dispose(); engine.destroySwapChain(mSwapChain); }