2d-inc / Flare-Flutter

Load and get full control of your Rive files in a Flutter project using this library.
https://rive.app/
MIT License
2.55k stars 469 forks source link

LateInitializationError: Field '_paint@xxxxxx' has not been initialized #313

Open CarGuo opened 2 years ago

CarGuo commented 2 years ago
[VERBOSE-2:ui_dart_state.cc(209)] Unhandled Exception: Exception: LateInitializationError: Field '_paint@268459774' has not been initialized.
#0      FlutterActorImage._paint (package:flare_flutter/flare.dart)
#1      FlutterActorImage.onBlendModeChanged (package:flare_flutter/flare.dart:505:5)
#2      FlutterActorDrawable.blendMode= (package:flare_flutter/flare.dart:226:5)
#3      FlutterActorDrawable.blendModeId= (package:flare_flutter/flare.dart:234:5)
#4      ActorDrawable.read (package:flare_flutter/base/actor_drawable.dart:77:17)
#5      ActorImage.read (package:flare_flutter/base/actor_image.dart:305:19)
#6      ActorArtboard.readComponentsBlock (package:flare_flutter/base/actor_artboard.dart:387:34)
#7      ActorArtboard.read (package:flare_flutter/base/actor_artboard.dart:349:11)

In onBlendModeChanged Function, _paint never initialized when ActorDrawable read -> set blendModeId ,but _paint sound late ui.Paint

  @override
  void onBlendModeChanged(ui.BlendMode mode) {
     _paint.blendMode = mode;
    onPaintUpdated(_paint);
  }
image
azhansy commented 2 years ago

Thank you very much, this also solved my problem

kirimi commented 2 years ago

Please, release this fix to pub.

I just migrated my app to nullsafety, but old animations don't work )

E/flutter (15494): [ERROR:flutter/shell/common/shell.cc(94)] Dart Unhandled Exception: Exception: LateInitializationError: Field '_paint@356459774' has not been initialized., stack trace: #0      FlutterActorImage._paint (package:flare_flutter/flare.dart)
E/flutter (15494): #1      FlutterActorImage.onBlendModeChanged (package:flare_flutter/flare.dart:505:5)
E/flutter (15494): #2      FlutterActorDrawable.blendMode= (package:flare_flutter/flare.dart:226:5)
E/flutter (15494): #3      FlutterActorDrawable.blendModeId= (package:flare_flutter/flare.dart:234:5)
...