Brendan
Committed by GitHub

Bugfix on flutter_screenutil: ^5.5.4 (#435)

* Fix error when assigning MediaQueryData

* Fix condition statement

* Apply null-check
@@ -58,12 +58,14 @@ class ScreenUtilInit extends StatefulWidget { @@ -58,12 +58,14 @@ class ScreenUtilInit extends StatefulWidget {
58 58
59 class _ScreenUtilInitState extends State<ScreenUtilInit> 59 class _ScreenUtilInitState extends State<ScreenUtilInit>
60 with WidgetsBindingObserver { 60 with WidgetsBindingObserver {
61 - late MediaQueryData mediaQueryData; 61 + MediaQueryData? _mediaQueryData;
62 62
63 bool wrappedInMediaQuery = false; 63 bool wrappedInMediaQuery = false;
64 64
65 WidgetsBinding get binding => WidgetsFlutterBinding.ensureInitialized(); 65 WidgetsBinding get binding => WidgetsFlutterBinding.ensureInitialized();
66 66
  67 + MediaQueryData get mediaQueryData => _mediaQueryData!;
  68 +
67 MediaQueryData get newData { 69 MediaQueryData get newData {
68 if (widget.useInheritedMediaQuery) { 70 if (widget.useInheritedMediaQuery) {
69 final data = MediaQuery.maybeOf(context); 71 final data = MediaQuery.maybeOf(context);
@@ -89,17 +91,17 @@ class _ScreenUtilInitState extends State<ScreenUtilInit> @@ -89,17 +91,17 @@ class _ScreenUtilInitState extends State<ScreenUtilInit>
89 @override 91 @override
90 void initState() { 92 void initState() {
91 super.initState(); 93 super.initState();
92 - mediaQueryData = newData; 94 + // mediaQueryData = newData;
93 binding.addObserver(this); 95 binding.addObserver(this);
94 } 96 }
95 97
96 @override 98 @override
97 void didChangeMetrics() { 99 void didChangeMetrics() {
98 - final old = mediaQueryData; 100 + final old = _mediaQueryData!;
99 final data = newData; 101 final data = newData;
100 102
101 if (widget.rebuildFactor(old, data)) { 103 if (widget.rebuildFactor(old, data)) {
102 - mediaQueryData = data; 104 + _mediaQueryData = data;
103 _updateTree(context as Element); 105 _updateTree(context as Element);
104 } 106 }
105 } 107 }
@@ -107,6 +109,7 @@ class _ScreenUtilInitState extends State<ScreenUtilInit> @@ -107,6 +109,7 @@ class _ScreenUtilInitState extends State<ScreenUtilInit>
107 @override 109 @override
108 void didChangeDependencies() { 110 void didChangeDependencies() {
109 super.didChangeDependencies(); 111 super.didChangeDependencies();
  112 + if (_mediaQueryData == null) _mediaQueryData = newData;
110 didChangeMetrics(); 113 didChangeMetrics();
111 } 114 }
112 115