Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e43e756c authored by Ricardo Cerqueira's avatar Ricardo Cerqueira Committed by Michael Bestas
Browse files

Camera: Fix out-of-order operations while setting up the editor

The buffer's producer is created by the cache pipeline generation,
so verifying that it isn't null before calling compute() is wrong.

This breaks a few devices, and should actually break them all, so
fix it; only check if getProducer() is valid after running setProducer()

Change-Id: I9d7d03fa9c9eb7063daef2ae28a78cd70b7a5ef3
parent bb0e3b5d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -57,9 +57,11 @@ public class UpdatePreviewTask extends ProcessingTask {
        SharedBuffer buffer = MasterImage.getImage().getPreviewBuffer();
        SharedPreset preset = MasterImage.getImage().getPreviewPreset();
        ImagePreset renderingPreset = preset.dequeuePreset();
        if ( (buffer != null) && (renderingPreset != null) &&
                (buffer.getProducer() != 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();