tenhobi / flashcards

FIT CTU · BI-SP1 · BI-SP2 · B172 · B181 – software team project
MIT License
35 stars 8 forks source link

showDialog returns null? #109

Closed danbalarin closed 6 years ago

danbalarin commented 6 years ago

When asking user for confirmation for delete, when dialog is dismissed by clicking out of dialog box, this error is thrown in console:

E/flutter (12393): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (12393): Failed assertion: boolean expression must not be null
E/flutter (12393): #0      _SectionsWidgetState._delete (package:flashcards_flutter/src/components/sections_list.dart)
E/flutter (12393): <asynchronous suspension>
E/flutter (12393): #1      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:494:14)
E/flutter (12393): #2      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:549:30)
E/flutter (12393): #3      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
E/flutter (12393): #4      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:161:9)
E/flutter (12393): #5      TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:123:7)
E/flutter (12393): #6      GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
E/flutter (12393): #7      _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:147:20)
E/flutter (12393): #8      _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:121:22)
E/flutter (12393): #9      _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:101:7)
E/flutter (12393): #10     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:64:7)
E/flutter (12393): #11     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:48:7)
E/flutter (12393): #12     _invoke1 (dart:ui/hooks.dart:134:13)
tenhobi commented 6 years ago

Here is my implementation https://github.com/tenhobi/flashcards/blob/master/flutter/lib/src/screen/course.dart#L112, how do you do it?

Maybe try to change the condition to if (permission == true).

michaldrabina commented 6 years ago

Simplies solution is to add permission != null to the if, or the thing you suggested. Both work. Flutter doesn't convert null to false implicitly so it doesn't like that it returns null when you cancel the dialog.