-
Notifications
You must be signed in to change notification settings - Fork 222
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Description
Creating a click listener in Rive and using it in Flutter results in the error below, although the animation works fine.
======== Exception caught by gesture library =======================================================
The following assertion was thrown while dispatching a pointer event:
'package:flutter/src/gestures/multidrag.dart': Failed assertion: line 254 pos 12: '!_pointers!.containsKey(event.pointer)': is not true.
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=2_bug.yml
When the exception was thrown, this was the stack:
#2 MultiDragGestureRecognizer.addAllowedPointer (package:flutter/src/gestures/multidrag.dart:254:12)
#3 GestureRecognizer.addPointer (package:flutter/src/gestures/recognizer.dart:254:7)
#4 RiveRenderObject.handleEvent.<anonymous closure> (package:rive/src/rive.dart:286:23)
#5 RiveRenderObject._hitHelper (package:rive/src/rive.dart:213:15)
#6 RiveRenderObject.handleEvent (package:rive/src/rive.dart:282:7)
#7 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:482:22)
#8 RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:457:11)
#9 GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:427:7)
#10 GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:390:5)
#11 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:337:7)
#12 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:306:9)
#13 _invoke1 (dart:ui/hooks.dart:328:13)
#14 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:450:7)
#15 _dispatchPointerDataPacket (dart:ui/hooks.dart:262:31)
(elided 2 frames from class _AssertionError)
Event: PointerDownEvent#32cb6(position: Offset(211.8, 377.9))
position: Offset(211.8, 377.9)
Target: RiveRenderObject#c8232
parentData: offset=Offset(0.0, 0.0) (can use size)
constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=781.1)
size: Size(392.7, 781.1)
====================================================================================================
Steps To Reproduce
Steps to reproduce the behavior:
- Create a new flutter project
- Add rive 0.13.20 as dependency
- Add the test.riv to the assets
- Run the following flutter app
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Rive Click Example"),
),
body: Center(
child: RiveAnimation.asset(
'assets/test.riv',
onInit: _onInit,
stateMachines: ['State Machine'],
),
),
),
);
}
void _onInit(Artboard artboard) {
final controller =
StateMachineController.fromArtboard(artboard, 'State Machine')!;
artboard.addController(controller);
}
}- Click on the artboard
- Receive an error in the terminal
Source .riv/.rev file
Expected behavior
No error should be thrown.
Device & Versions (please complete the following information)
- Device: Xiaomi Mi 12 Lite
- OS: Android SDK API Level 34
Flutter 3.27.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 17025dd882 (vor 7 Wochen) • 2024-12-17 03:23:09 +0900
Engine • revision cb4b5fff73
Tools • Dart 3.6.0 • DevTools 2.40.2
salemshah, vididesign, NashIlli, littlemooon, t42ji2ji and 2 more
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working