vector_graphics
vector_graphics copied to clipboard
adjust vector_graphics errorBuilder (to trigger on BytesLoader errors)
COPIED FROM https://github.com/dnfield/flutter_svg/issues/996
My use case: I am trying to fallback to a svg in assets if my SvgPicture.network() fails for any reason (wrong url, request returns 404, invalid svg format, ...)
widgets like the Flutter Image fully support this errorBuilder and any error in the process (image loading/parsing/rendering) triggers the errorBuilder callback
From my observations:
- SvgPicture widget does not accept
errorBuilder - The
vector_graphicspackage does not triggererrorBuilderforBytesLoaderobjectsloadBytes()calls, it only triggers it for errors indecodeVectorGraphics()
image from vector_graphics.dart
This happens with local files as well, and would be great to have a callback so we default to a non-optimised svg image.
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 296:3 throw_
packages/vector_graphics/src/listener.dart 133:5 decodeVectorGraphics
packages/vector_graphics/src/vector_graphics.dart 356:14 <fn>
dart-sdk/lib/async/zone.dart 1661:54 runUnary
dart-sdk/lib/async/future_impl.dart 163:18 handleValue
dart-sdk/lib/async/future_impl.dart 847:44 handleValueCallback
dart-sdk/lib/async/future_impl.dart 876:13 _propagateToListeners
dart-sdk/lib/async/future_impl.dart 652:5 [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 722:7 callback
dart-sdk/lib/async/schedule_microtask.dart 40:11 _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5 _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 181:7 <fn>
Error