Skip to content

Commit fe6a51a

Browse files
Warn about invalid arguments to ColorFilter.mode (flutter#32269)
1 parent 5f2b566 commit fe6a51a

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -970,7 +970,7 @@ class SkMaskFilter {
970970

971971
@JS()
972972
class SkColorFilterNamespace {
973-
external SkColorFilter MakeBlend(Float32List color, SkBlendMode blendMode);
973+
external SkColorFilter? MakeBlend(Float32List color, SkBlendMode blendMode);
974974
external SkColorFilter MakeMatrix(
975975
Float32List matrix, // 20-element matrix
976976
);

lib/web_ui/lib/src/engine/canvaskit/color_filter.dart

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,14 @@ class CkBlendModeColorFilter extends CkColorFilter {
8383

8484
@override
8585
SkColorFilter _initRawColorFilter() {
86-
return canvasKit.ColorFilter.MakeBlend(
86+
final SkColorFilter? filter = canvasKit.ColorFilter.MakeBlend(
8787
toSharedSkColor1(color),
8888
toSkBlendMode(blendMode),
8989
);
90+
if (filter == null) {
91+
throw ArgumentError('Invalid parameters for blend mode ColorFilter');
92+
}
93+
return filter;
9094
}
9195

9296
@override

0 commit comments

Comments
 (0)