From dbaaad949ccb97414206175e844851d696887d6c Mon Sep 17 00:00:00 2001 From: Zachary Anderson Date: Tue, 6 Jun 2023 09:35:50 -0700 Subject: [PATCH] Fix raster cache optional value check logic (#42592) Possible fix for https://github.com/flutter/flutter/issues/128308 --- flow/layers/layer_raster_cache_item.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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); }