mcrovero / rubber

An elastic material bottom sheet implementation for Flutter.
BSD 2-Clause "Simplified" License
562 stars 88 forks source link

Exception if not using a ScrollController #8

Closed aryzhov closed 5 years ago

aryzhov commented 5 years ago

I created a RubberBottomSheet without passing a ScrollController. It works for the most part, but an exception is thrown if I try to drag it down in order to dismiss. Below is the stack trace:

I/flutter (32146): ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
I/flutter (32146): The following NoSuchMethodError was thrown while handling a gesture:
I/flutter (32146): The getter 'position' was called on null.
I/flutter (32146): Receiver: null
I/flutter (32146): Tried calling: position
I/flutter (32146): 
I/flutter (32146): When the exception was thrown, this was the stack:
I/flutter (32146): #0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:50:5)
I/flutter (32146): #1      _RubberBottomSheetState._onVerticalDragDown (package:rubber/src/bottom_sheet.dart:159:31)
I/flutter (32146): #2      DragGestureRecognizer.addPointer.<anonymous closure> (package:flutter/src/gestures/monodrag.dart:123:46)
I/flutter (32146): #3      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
I/flutter (32146): #4      DragGestureRecognizer.addPointer (package:flutter/src/gestures/monodrag.dart:123:9)
I/flutter (32146): #5      RawGestureDetectorState._handlePointerDown (package:flutter/src/widgets/gesture_detector.dart:643:18)
I/flutter (32146): #6      RenderPointerListener.handleEvent (package:flutter/src/rendering/proxy_box.dart:2500:14)
I/flutter (32146): #7      _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:158:22)
I/flutter (32146): #8      _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:138:7)
I/flutter (32146): #9      _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:101:7)
I/flutter (32146): #10     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:85:7)
I/flutter (32146): #11     _invoke1 (dart:ui/hooks.dart:168:13)
I/flutter (32146): #12     _dispatchPointerDataPacket (dart:ui/hooks.dart:122:5)
I/flutter (32146): 
I/flutter (32146): Handler: onDown
I/flutter (32146): Recognizer:
I/flutter (32146):   VerticalDragGestureRecognizer#b6362(debugOwner: GestureDetector)
I/flutter (32146): ════════════════════════════════════════════════════════════════════════════════════════════════════

I am using rubber: 0.2.5