From f696610115b3ff725de60ed9a0ae6015541f74d3 Mon Sep 17 00:00:00 2001 From: pkwak-sf Date: Sat, 10 Dec 2016 07:15:52 -0600 Subject: [PATCH] Fix issue with updating props quickly causing released camera object to be accessed. (#507) --- .../src/main/java/com/lwansbrough/RCTCamera/RCTCamera.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/lwansbrough/RCTCamera/RCTCamera.java b/android/src/main/java/com/lwansbrough/RCTCamera/RCTCamera.java index 9dc3df3..e433f9d 100644 --- a/android/src/main/java/com/lwansbrough/RCTCamera/RCTCamera.java +++ b/android/src/main/java/com/lwansbrough/RCTCamera/RCTCamera.java @@ -49,9 +49,11 @@ public class RCTCamera { } public void releaseCameraInstance(int type) { - if (null != _cameras.get(type)) { - _cameras.get(type).release(); + // Release seems async and creates race conditions. Remove from map first before releasing. + Camera releasingCamera = _cameras.get(type); + if (null != releasingCamera) { _cameras.remove(type); + releasingCamera.release(); } }