diff --git a/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/font_collection.dart b/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/font_collection.dart index 979da4ac2aff4..60a2d4399ed00 100644 --- a/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/font_collection.dart +++ b/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/font_collection.dart @@ -69,7 +69,6 @@ class SkwasmFontCollection implements FlutterFontCollection { @override Future loadAssetFonts(FontManifest manifest) async { final List> fontFutures = >[]; - final List loadedFonts = []; final Map fontFailures = {}; /// We need a default fallback font for Skwasm, in order to avoid crashing @@ -81,13 +80,13 @@ class SkwasmFontCollection implements FlutterFontCollection { ); } + final List loadedFonts = []; for (final FontFamily family in manifest.families) { for (final FontAsset fontAsset in family.fontAssets) { + loadedFonts.add(fontAsset.asset); fontFutures.add(() async { final FontLoadError? error = await _downloadFontAsset(fontAsset, family.name); - if (error == null) { - loadedFonts.add(fontAsset.asset); - } else { + if (error != null) { fontFailures[fontAsset.asset] = error; } }()); @@ -95,6 +94,8 @@ class SkwasmFontCollection implements FlutterFontCollection { } await Future.wait(fontFutures); + + loadedFonts.removeWhere((String assetName) => fontFailures.containsKey(assetName)); return AssetFontsResult(loadedFonts, fontFailures); }