From 9b59b8e3937b7fd91a9f0367cf69d93c57de2d65 Mon Sep 17 00:00:00 2001 From: kaiyiz Date: Tue, 25 Feb 2014 17:37:14 +0800 Subject: Gallery2: Fix Gallery Crash when click Information menu. In UpdatePreviewTask,the condition in the doInBackground is not correct which cause the NullPointerException happened. Only judge the buffer.getProducer() before it is used. CRs-Fixed: 619081 Conflicts: src/com/android/gallery3d/filtershow/pipeline/UpdatePreviewTask.java Change-Id: Iac3152328abeb72002785cfa2eb28830ea87f439 --- .../android/gallery3d/filtershow/pipeline/UpdatePreviewTask.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/com/android/gallery3d/filtershow/pipeline/UpdatePreviewTask.java b/src/com/android/gallery3d/filtershow/pipeline/UpdatePreviewTask.java index a55abca3d..8fcf7539f 100644 --- a/src/com/android/gallery3d/filtershow/pipeline/UpdatePreviewTask.java +++ b/src/com/android/gallery3d/filtershow/pipeline/UpdatePreviewTask.java @@ -57,14 +57,16 @@ public class UpdatePreviewTask extends ProcessingTask { SharedBuffer buffer = MasterImage.getImage().getPreviewBuffer(); SharedPreset preset = MasterImage.getImage().getPreviewPreset(); ImagePreset renderingPreset = preset.dequeuePreset(); - if ( (buffer != null) && (renderingPreset != null)) { + if ((buffer != null) && (renderingPreset != null)) { mPreviewPipeline.compute(buffer, renderingPreset, 0); if ( buffer.getProducer() == null) { return null; } // set the preset we used in the buffer for later inspection UI-side - buffer.getProducer().setPreset(renderingPreset); - buffer.getProducer().sync(); + if (buffer.getProducer() != null) { + buffer.getProducer().setPreset(renderingPreset); + buffer.getProducer().sync(); + } buffer.swapProducer(); // push back the result } return null; -- cgit v1.2.3