diff --git a/engine/src/flutter/display_list/utils/dl_matrix_clip_tracker.cc b/engine/src/flutter/display_list/utils/dl_matrix_clip_tracker.cc index 9640a95c60d..3bf78771d93 100644 --- a/engine/src/flutter/display_list/utils/dl_matrix_clip_tracker.cc +++ b/engine/src/flutter/display_list/utils/dl_matrix_clip_tracker.cc @@ -89,6 +89,9 @@ void DisplayListMatrixClipState::clipRRect(const DlRoundRect& rrect, if (rrect.IsRect()) { return clipRect(bounds, op, is_aa); } + if (rrect.IsOval()) { + return clipOval(bounds, op, is_aa); + } switch (op) { case DlClipOp::kIntersect: adjustCullRect(bounds, op, is_aa); @@ -114,6 +117,9 @@ void DisplayListMatrixClipState::clipRSuperellipse( if (rse.IsRect()) { return clipRect(bounds, op, is_aa); } + if (rse.IsOval()) { + return clipOval(bounds, op, is_aa); + } switch (op) { case DlClipOp::kIntersect: adjustCullRect(bounds, op, is_aa);