check for null-layer-paint after prev fix to savelayer ops

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2314073002

Review-Url: https://codereview.chromium.org/2314073002
diff --git a/src/core/SkRecordOpts.cpp b/src/core/SkRecordOpts.cpp
index 7899077..d46a657 100644
--- a/src/core/SkRecordOpts.cpp
+++ b/src/core/SkRecordOpts.cpp
@@ -87,7 +87,7 @@
     }
 };
 
-static bool fold_opacity_layer_color_to_paint(const SkPaint& layerPaint,
+static bool fold_opacity_layer_color_to_paint(const SkPaint* layerPaint,
                                               bool isSaveLayer,
                                               SkPaint* paint) {
     // We assume layerPaint is always from a saveLayer.  If isSaveLayer is
@@ -121,26 +121,27 @@
         return false;
     }
 
-    const uint32_t layerColor = layerPaint.getColor();
-    // The layer paint color must have only alpha component.
-    if (SK_ColorTRANSPARENT != SkColorSetA(layerColor, SK_AlphaTRANSPARENT)) {
-        return false;
-    }
+    if (layerPaint) {
+        const uint32_t layerColor = layerPaint->getColor();
+        // The layer paint color must have only alpha component.
+        if (SK_ColorTRANSPARENT != SkColorSetA(layerColor, SK_AlphaTRANSPARENT)) {
+            return false;
+        }
 
-    // The layer paint can not have any effects.
-    if (layerPaint.getPathEffect() ||
-        layerPaint.getShader()      ||
-        layerPaint.getXfermode()    ||
-        layerPaint.getMaskFilter()  ||
-        layerPaint.getColorFilter() ||
-        layerPaint.getRasterizer()  ||
-        layerPaint.getLooper()      ||
-        layerPaint.getImageFilter()) {
-        return false;
+        // The layer paint can not have any effects.
+        if (layerPaint->getPathEffect() ||
+            layerPaint->getShader()      ||
+            layerPaint->getXfermode()    ||
+            layerPaint->getMaskFilter()  ||
+            layerPaint->getColorFilter() ||
+            layerPaint->getRasterizer()  ||
+            layerPaint->getLooper()      ||
+            layerPaint->getImageFilter()) {
+            return false;
+        }
+        paint->setAlpha(SkMulDiv255Round(paint->getAlpha(), SkColorGetA(layerColor)));
     }
 
-    paint->setAlpha(SkMulDiv255Round(paint->getAlpha(), SkColorGetA(layerColor)));
-
     return true;
 }
 
@@ -211,7 +212,7 @@
             return false;
         }
 
-        if (!fold_opacity_layer_color_to_paint(*layerPaint, false /*isSaveLayer*/, drawPaint)) {
+        if (!fold_opacity_layer_color_to_paint(layerPaint, false /*isSaveLayer*/, drawPaint)) {
             return false;
         }
 
@@ -264,7 +265,7 @@
             return false;
         }
 
-        if (!fold_opacity_layer_color_to_paint(*opacityPaint, true /*isSaveLayer*/,
+        if (!fold_opacity_layer_color_to_paint(opacityPaint, true /*isSaveLayer*/,
                                                filterLayerPaint)) {
             return false;
         }