Skip to content

PlatformView on iOS - duplicate touch events causes assertion failure #27700

@amirh

Description

@amirh

Splitting this off from #24207

I believe what's going on is that for accepted gestures when the delaying gesture recognizer rejects, the same touch sequence that was passed to Flutter through the forwarding recognizer is passed again directly to FlutterView.

This fails an assertion resulting in the following error (only in debug mode):

Dart Error: Unhandled exception:
'package:flutter/src/gestures/converter.dart': Failed assertion: line 143 pos 18: '!state.down': is not true.
#0      _AssertionError._doThrowNew (dart:core/runtime/liberrors_patch.dart:40:39)
#1      _AssertionError._throwNew (dart:core/runtime/liberrors_patch.dart:36:5)
#2      PointerEventConverter.expand (package:flutter/src/gestures/converter.dart:143:18)
#3      _SyncIterator.moveNext (dart:core/runtime/libcore_patch.dart:151:12)
#4      ListQueue.addAll (dart:collection/queue.dart:715:25)
#5      _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:83:27)
#6      _invoke1 (dart:ui/hooks.dart:165:13)
#7      _dispatchPointerDataPacket (dart:ui/hooks.dart:119:5)

Metadata

Metadata

Assignees

Labels

a: platform-viewsEmbedding Android/iOS views in Flutter appspackageflutter/packages repository. See also p: labels.platform-iosiOS applications specifically

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions