diff --git a/flow/layers/layer_raster_cache_item.cc b/flow/layers/layer_raster_cache_item.cc index 1e984b94dc09a..b6597414958b3 100644 --- a/flow/layers/layer_raster_cache_item.cc +++ b/flow/layers/layer_raster_cache_item.cc @@ -175,7 +175,7 @@ bool LayerRasterCacheItem::Draw(const PaintContext& context, bool LayerRasterCacheItem::Draw(const PaintContext& context, DlCanvas* canvas, const DlPaint* paint) const { - if (!layer_children_id_.has_value() || !context.raster_cache || !canvas) { + if (!context.raster_cache || !canvas) { return false; } switch (cache_state_) { @@ -185,6 +185,9 @@ bool LayerRasterCacheItem::Draw(const PaintContext& context, return context.raster_cache->Draw(key_id_, *canvas, paint); } case RasterCacheItem::kChildren: { + if (!layer_children_id_.has_value()) { + return false; + } return context.raster_cache->Draw(layer_children_id_.value(), *canvas, paint); }