From 975aecad9b4c62ce340db502fa9931cae106b82d Mon Sep 17 00:00:00 2001 From: qimengp Date: Wed, 7 Dec 2016 18:02:51 +0800 Subject: SnapdragonCamera: Fix FC cause by Null pointer When clearSight is failed, handleTimeout() is invoked to reset clearsight Engine, but ClearsightProcessHandler is still working and try to access null pointer object. By adding protect of null pointer can fix this issue. Change-Id: I4722721f3715077ec8303c4d14693ae4c1484420 --- src/org/codeaurora/snapcam/filter/ClearSightImageProcessor.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/org/codeaurora/snapcam/filter/ClearSightImageProcessor.java b/src/org/codeaurora/snapcam/filter/ClearSightImageProcessor.java index f1a082f75..fd107e446 100755 --- a/src/org/codeaurora/snapcam/filter/ClearSightImageProcessor.java +++ b/src/org/codeaurora/snapcam/filter/ClearSightImageProcessor.java @@ -903,6 +903,12 @@ public class ClearSightImageProcessor { mImageEncodeHandler.obtainMessage(MSG_START_CAPTURE).sendToTarget(); short encodeRequest = 0; + /* In same case, timeout will reset ClearSightNativeEngine object, so fields + in the object is not initial, need to return and skip process. + */ + if (ClearSightNativeEngine.getInstance().getReferenceImage(true) == null) { + return; + } long csTs = ClearSightNativeEngine.getInstance().getReferenceImage(true).getTimestamp(); CaptureRequest.Builder csRequest = createEncodeReprocRequest( ClearSightNativeEngine.getInstance().getReferenceResult(true), CAM_TYPE_BAYER); -- cgit v1.2.3