saminsohag

fixed 3.29.0 issue and > syntax issue

@@ -59,6 +59,7 @@ @@ -59,6 +59,7 @@
59 ignoresPersistentStateOnLaunch = "NO" 59 ignoresPersistentStateOnLaunch = "NO"
60 debugDocumentVersioning = "YES" 60 debugDocumentVersioning = "YES"
61 debugServiceExtension = "internal" 61 debugServiceExtension = "internal"
  62 + enableGPUValidationMode = "1"
62 allowLocationSimulation = "YES"> 63 allowLocationSimulation = "YES">
63 <BuildableProductRunnable 64 <BuildableProductRunnable
64 runnableDebuggingMode = "0"> 65 runnableDebuggingMode = "0">
@@ -13,42 +13,42 @@ packages: @@ -13,42 +13,42 @@ packages:
13 dependency: transitive 13 dependency: transitive
14 description: 14 description:
15 name: async 15 name: async
16 - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" 16 + sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
17 url: "https://pub.dev" 17 url: "https://pub.dev"
18 source: hosted 18 source: hosted
19 - version: "2.11.0" 19 + version: "2.12.0"
20 boolean_selector: 20 boolean_selector:
21 dependency: transitive 21 dependency: transitive
22 description: 22 description:
23 name: boolean_selector 23 name: boolean_selector
24 - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" 24 + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
25 url: "https://pub.dev" 25 url: "https://pub.dev"
26 source: hosted 26 source: hosted
27 - version: "2.1.1" 27 + version: "2.1.2"
28 characters: 28 characters:
29 dependency: transitive 29 dependency: transitive
30 description: 30 description:
31 name: characters 31 name: characters
32 - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" 32 + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
33 url: "https://pub.dev" 33 url: "https://pub.dev"
34 source: hosted 34 source: hosted
35 - version: "1.3.0" 35 + version: "1.4.0"
36 clock: 36 clock:
37 dependency: transitive 37 dependency: transitive
38 description: 38 description:
39 name: clock 39 name: clock
40 - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf 40 + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
41 url: "https://pub.dev" 41 url: "https://pub.dev"
42 source: hosted 42 source: hosted
43 - version: "1.1.1" 43 + version: "1.1.2"
44 collection: 44 collection:
45 dependency: transitive 45 dependency: transitive
46 description: 46 description:
47 name: collection 47 name: collection
48 - sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf 48 + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
49 url: "https://pub.dev" 49 url: "https://pub.dev"
50 source: hosted 50 source: hosted
51 - version: "1.19.0" 51 + version: "1.19.1"
52 cross_file: 52 cross_file:
53 dependency: transitive 53 dependency: transitive
54 description: 54 description:
@@ -77,10 +77,10 @@ packages: @@ -77,10 +77,10 @@ packages:
77 dependency: transitive 77 dependency: transitive
78 description: 78 description:
79 name: fake_async 79 name: fake_async
80 - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" 80 + sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
81 url: "https://pub.dev" 81 url: "https://pub.dev"
82 source: hosted 82 source: hosted
83 - version: "1.3.1" 83 + version: "1.3.2"
84 flutter: 84 flutter:
85 dependency: "direct main" 85 dependency: "direct main"
86 description: flutter 86 description: flutter
@@ -106,10 +106,10 @@ packages: @@ -106,10 +106,10 @@ packages:
106 dependency: transitive 106 dependency: transitive
107 description: 107 description:
108 name: flutter_svg 108 name: flutter_svg
109 - sha256: "54900a1a1243f3c4a5506d853a2b5c2dbc38d5f27e52a52618a8054401431123" 109 + sha256: c200fd79c918a40c5cd50ea0877fa13f81bdaf6f0a5d3dbcc2a13e3285d6aa1b
110 url: "https://pub.dev" 110 url: "https://pub.dev"
111 source: hosted 111 source: hosted
112 - version: "2.0.16" 112 + version: "2.0.17"
113 flutter_test: 113 flutter_test:
114 dependency: "direct dev" 114 dependency: "direct dev"
115 description: flutter 115 description: flutter
@@ -126,39 +126,39 @@ packages: @@ -126,39 +126,39 @@ packages:
126 path: ".." 126 path: ".."
127 relative: true 127 relative: true
128 source: path 128 source: path
129 - version: "1.0.6" 129 + version: "1.0.8"
130 http: 130 http:
131 dependency: transitive 131 dependency: transitive
132 description: 132 description:
133 name: http 133 name: http
134 - sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 134 + sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f
135 url: "https://pub.dev" 135 url: "https://pub.dev"
136 source: hosted 136 source: hosted
137 - version: "1.2.2" 137 + version: "1.3.0"
138 http_parser: 138 http_parser:
139 dependency: transitive 139 dependency: transitive
140 description: 140 description:
141 name: http_parser 141 name: http_parser
142 - sha256: "76d306a1c3afb33fe82e2bbacad62a61f409b5634c915fceb0d799de1a913360" 142 + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571"
143 url: "https://pub.dev" 143 url: "https://pub.dev"
144 source: hosted 144 source: hosted
145 - version: "4.1.1" 145 + version: "4.1.2"
146 leak_tracker: 146 leak_tracker:
147 dependency: transitive 147 dependency: transitive
148 description: 148 description:
149 name: leak_tracker 149 name: leak_tracker
150 - sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" 150 + sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
151 url: "https://pub.dev" 151 url: "https://pub.dev"
152 source: hosted 152 source: hosted
153 - version: "10.0.7" 153 + version: "10.0.8"
154 leak_tracker_flutter_testing: 154 leak_tracker_flutter_testing:
155 dependency: transitive 155 dependency: transitive
156 description: 156 description:
157 name: leak_tracker_flutter_testing 157 name: leak_tracker_flutter_testing
158 - sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" 158 + sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
159 url: "https://pub.dev" 159 url: "https://pub.dev"
160 source: hosted 160 source: hosted
161 - version: "3.0.8" 161 + version: "3.0.9"
162 leak_tracker_testing: 162 leak_tracker_testing:
163 dependency: transitive 163 dependency: transitive
164 description: 164 description:
@@ -179,10 +179,10 @@ packages: @@ -179,10 +179,10 @@ packages:
179 dependency: transitive 179 dependency: transitive
180 description: 180 description:
181 name: matcher 181 name: matcher
182 - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb 182 + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
183 url: "https://pub.dev" 183 url: "https://pub.dev"
184 source: hosted 184 source: hosted
185 - version: "0.12.16+1" 185 + version: "0.12.17"
186 material_color_utilities: 186 material_color_utilities:
187 dependency: transitive 187 dependency: transitive
188 description: 188 description:
@@ -195,10 +195,10 @@ packages: @@ -195,10 +195,10 @@ packages:
195 dependency: transitive 195 dependency: transitive
196 description: 196 description:
197 name: meta 197 name: meta
198 - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 198 + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
199 url: "https://pub.dev" 199 url: "https://pub.dev"
200 source: hosted 200 source: hosted
201 - version: "1.15.0" 201 + version: "1.16.0"
202 nested: 202 nested:
203 dependency: transitive 203 dependency: transitive
204 description: 204 description:
@@ -211,10 +211,10 @@ packages: @@ -211,10 +211,10 @@ packages:
211 dependency: transitive 211 dependency: transitive
212 description: 212 description:
213 name: path 213 name: path
214 - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" 214 + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
215 url: "https://pub.dev" 215 url: "https://pub.dev"
216 source: hosted 216 source: hosted
217 - version: "1.9.0" 217 + version: "1.9.1"
218 path_parsing: 218 path_parsing:
219 dependency: transitive 219 dependency: transitive
220 description: 220 description:
@@ -227,10 +227,10 @@ packages: @@ -227,10 +227,10 @@ packages:
227 dependency: transitive 227 dependency: transitive
228 description: 228 description:
229 name: petitparser 229 name: petitparser
230 - sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 230 + sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646"
231 url: "https://pub.dev" 231 url: "https://pub.dev"
232 source: hosted 232 source: hosted
233 - version: "6.0.2" 233 + version: "6.1.0"
234 provider: 234 provider:
235 dependency: transitive 235 dependency: transitive
236 description: 236 description:
@@ -248,50 +248,50 @@ packages: @@ -248,50 +248,50 @@ packages:
248 dependency: transitive 248 dependency: transitive
249 description: 249 description:
250 name: source_span 250 name: source_span
251 - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" 251 + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c"
252 url: "https://pub.dev" 252 url: "https://pub.dev"
253 source: hosted 253 source: hosted
254 - version: "1.10.0" 254 + version: "1.10.1"
255 stack_trace: 255 stack_trace:
256 dependency: transitive 256 dependency: transitive
257 description: 257 description:
258 name: stack_trace 258 name: stack_trace
259 - sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" 259 + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
260 url: "https://pub.dev" 260 url: "https://pub.dev"
261 source: hosted 261 source: hosted
262 - version: "1.12.0" 262 + version: "1.12.1"
263 stream_channel: 263 stream_channel:
264 dependency: transitive 264 dependency: transitive
265 description: 265 description:
266 name: stream_channel 266 name: stream_channel
267 - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 267 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
268 url: "https://pub.dev" 268 url: "https://pub.dev"
269 source: hosted 269 source: hosted
270 - version: "2.1.2" 270 + version: "2.1.4"
271 string_scanner: 271 string_scanner:
272 dependency: transitive 272 dependency: transitive
273 description: 273 description:
274 name: string_scanner 274 name: string_scanner
275 - sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" 275 + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
276 url: "https://pub.dev" 276 url: "https://pub.dev"
277 source: hosted 277 source: hosted
278 - version: "1.3.0" 278 + version: "1.4.1"
279 term_glyph: 279 term_glyph:
280 dependency: transitive 280 dependency: transitive
281 description: 281 description:
282 name: term_glyph 282 name: term_glyph
283 - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 283 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
284 url: "https://pub.dev" 284 url: "https://pub.dev"
285 source: hosted 285 source: hosted
286 - version: "1.2.1" 286 + version: "1.2.2"
287 test_api: 287 test_api:
288 dependency: transitive 288 dependency: transitive
289 description: 289 description:
290 name: test_api 290 name: test_api
291 - sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" 291 + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
292 url: "https://pub.dev" 292 url: "https://pub.dev"
293 source: hosted 293 source: hosted
294 - version: "0.7.3" 294 + version: "0.7.4"
295 tuple: 295 tuple:
296 dependency: transitive 296 dependency: transitive
297 description: 297 description:
@@ -312,18 +312,18 @@ packages: @@ -312,18 +312,18 @@ packages:
312 dependency: transitive 312 dependency: transitive
313 description: 313 description:
314 name: vector_graphics 314 name: vector_graphics
315 - sha256: "27d5fefe86fb9aace4a9f8375b56b3c292b64d8c04510df230f849850d912cb7" 315 + sha256: "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de"
316 url: "https://pub.dev" 316 url: "https://pub.dev"
317 source: hosted 317 source: hosted
318 - version: "1.1.15" 318 + version: "1.1.18"
319 vector_graphics_codec: 319 vector_graphics_codec:
320 dependency: transitive 320 dependency: transitive
321 description: 321 description:
322 name: vector_graphics_codec 322 name: vector_graphics_codec
323 - sha256: "2430b973a4ca3c4dbc9999b62b8c719a160100dcbae5c819bae0cacce32c9cdb" 323 + sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146"
324 url: "https://pub.dev" 324 url: "https://pub.dev"
325 source: hosted 325 source: hosted
326 - version: "1.1.12" 326 + version: "1.1.13"
327 vector_graphics_compiler: 327 vector_graphics_compiler:
328 dependency: transitive 328 dependency: transitive
329 description: 329 description:
@@ -344,10 +344,10 @@ packages: @@ -344,10 +344,10 @@ packages:
344 dependency: transitive 344 dependency: transitive
345 description: 345 description:
346 name: vm_service 346 name: vm_service
347 - sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b 347 + sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
348 url: "https://pub.dev" 348 url: "https://pub.dev"
349 source: hosted 349 source: hosted
350 - version: "14.3.0" 350 + version: "14.3.1"
351 watcher: 351 watcher:
352 dependency: "direct main" 352 dependency: "direct main"
353 description: 353 description:
@@ -373,5 +373,5 @@ packages: @@ -373,5 +373,5 @@ packages:
373 source: hosted 373 source: hosted
374 version: "6.5.0" 374 version: "6.5.0"
375 sdks: 375 sdks:
376 - dart: ">=3.5.0 <4.0.0" 376 + dart: ">=3.7.0-0 <4.0.0"
377 flutter: ">=3.22.0" 377 flutter: ">=3.22.0"
@@ -3,7 +3,7 @@ import 'package:flutter/rendering.dart'; @@ -3,7 +3,7 @@ import 'package:flutter/rendering.dart';
3 3
4 class SelectableAdapter extends StatelessWidget { 4 class SelectableAdapter extends StatelessWidget {
5 const SelectableAdapter( 5 const SelectableAdapter(
6 - {super.key, required this.selectedText, required this.child}); 6 + {super.key, required this.child, required this.selectedText});
7 7
8 final Widget child; 8 final Widget child;
9 final String selectedText; 9 final String selectedText;
@@ -17,31 +17,26 @@ class SelectableAdapter extends StatelessWidget { @@ -17,31 +17,26 @@ class SelectableAdapter extends StatelessWidget {
17 return MouseRegion( 17 return MouseRegion(
18 cursor: SystemMouseCursors.text, 18 cursor: SystemMouseCursors.text,
19 child: _SelectableAdapter( 19 child: _SelectableAdapter(
20 - registrar: registrar,  
21 - selectedText: selectedText,  
22 - child: child,  
23 - ), 20 + registrar: registrar, selectedText: selectedText, child: child),
24 ); 21 );
25 } 22 }
26 } 23 }
27 24
28 class _SelectableAdapter extends SingleChildRenderObjectWidget { 25 class _SelectableAdapter extends SingleChildRenderObjectWidget {
29 - const _SelectableAdapter({  
30 - required this.registrar,  
31 - required Widget child,  
32 - required this.selectedText,  
33 - }) : super(child: child); 26 + const _SelectableAdapter(
  27 + {required this.registrar,
  28 + required Widget child,
  29 + required this.selectedText})
  30 + : super(child: child);
34 31
35 final SelectionRegistrar registrar; 32 final SelectionRegistrar registrar;
36 final String selectedText; 33 final String selectedText;
37 -  
38 @override 34 @override
39 _RenderSelectableAdapter createRenderObject(BuildContext context) { 35 _RenderSelectableAdapter createRenderObject(BuildContext context) {
40 return _RenderSelectableAdapter( 36 return _RenderSelectableAdapter(
41 - DefaultSelectionStyle.of(context).selectionColor!,  
42 - selectedText,  
43 - registrar,  
44 - ); 37 + DefaultSelectionStyle.of(context).selectionColor!,
  38 + registrar,
  39 + selectedText);
45 } 40 }
46 41
47 @override 42 @override
@@ -55,23 +50,23 @@ class _SelectableAdapter extends SingleChildRenderObjectWidget { @@ -55,23 +50,23 @@ class _SelectableAdapter extends SingleChildRenderObjectWidget {
55 50
56 class _RenderSelectableAdapter extends RenderProxyBox 51 class _RenderSelectableAdapter extends RenderProxyBox
57 with Selectable, SelectionRegistrant { 52 with Selectable, SelectionRegistrant {
58 - String selectionText;  
59 _RenderSelectableAdapter( 53 _RenderSelectableAdapter(
60 - Color selectionColor,  
61 - this.selectionText,  
62 - SelectionRegistrar registrar,  
63 - ) : _selectionColor = selectionColor, 54 + Color selectionColor, SelectionRegistrar registrar, this.selectedText)
  55 + : _selectionColor = selectionColor,
64 _geometry = ValueNotifier<SelectionGeometry>(_noSelection) { 56 _geometry = ValueNotifier<SelectionGeometry>(_noSelection) {
65 this.registrar = registrar; 57 this.registrar = registrar;
66 _geometry.addListener(markNeedsPaint); 58 _geometry.addListener(markNeedsPaint);
67 } 59 }
68 60
69 - static const SelectionGeometry _noSelection =  
70 - SelectionGeometry(status: SelectionStatus.none, hasContent: true);  
71 - final ValueNotifier<SelectionGeometry> _geometry; 61 + final String selectedText;
72 62
  63 + static const SelectionGeometry _noSelection = SelectionGeometry(
  64 + status: SelectionStatus.none,
  65 + hasContent: true,
  66 + );
  67 + final ValueNotifier<SelectionGeometry> _geometry;
73 Color get selectionColor => _selectionColor; 68 Color get selectionColor => _selectionColor;
74 - late Color _selectionColor; 69 + Color _selectionColor;
75 set selectionColor(Color value) { 70 set selectionColor(Color value) {
76 if (_selectionColor == value) { 71 if (_selectionColor == value) {
77 return; 72 return;
@@ -100,8 +95,12 @@ class _RenderSelectableAdapter extends RenderProxyBox @@ -100,8 +95,12 @@ class _RenderSelectableAdapter extends RenderProxyBox
100 // Adjust this value to enlarge or shrink the selection highlight. 95 // Adjust this value to enlarge or shrink the selection highlight.
101 static const double _padding = 0.0; 96 static const double _padding = 0.0;
102 Rect _getSelectionHighlightRect() { 97 Rect _getSelectionHighlightRect() {
103 - return Rect.fromLTWH(0 - _padding, 0 - _padding, size.width + _padding * 2,  
104 - size.height + _padding * 2); 98 + return Rect.fromLTWH(
  99 + 0 - _padding,
  100 + 0 - _padding,
  101 + size.width + _padding * 2,
  102 + size.height + _padding * 2,
  103 + );
105 } 104 }
106 105
107 Offset? _start; 106 Offset? _start;
@@ -263,11 +262,20 @@ class _RenderSelectableAdapter extends RenderProxyBox @@ -263,11 +262,20 @@ class _RenderSelectableAdapter extends RenderProxyBox
263 // widget into clipboard. 262 // widget into clipboard.
264 @override 263 @override
265 SelectedContent? getSelectedContent() { 264 SelectedContent? getSelectedContent() {
266 - return value.hasSelection  
267 - ? SelectedContent(plainText: selectionText)  
268 - : null; 265 + return value.hasSelection ? SelectedContent(plainText: selectedText) : null;
269 } 266 }
270 267
  268 + @override
  269 + SelectedContentRange? getSelection() {
  270 + if (!value.hasSelection) {
  271 + return null;
  272 + }
  273 + return const SelectedContentRange(startOffset: 0, endOffset: 1);
  274 + }
  275 +
  276 + @override
  277 + int get contentLength => 1;
  278 +
271 LayerLink? _startHandle; 279 LayerLink? _startHandle;
272 LayerLink? _endHandle; 280 LayerLink? _endHandle;
273 281
@@ -298,9 +306,8 @@ class _RenderSelectableAdapter extends RenderProxyBox @@ -298,9 +306,8 @@ class _RenderSelectableAdapter extends RenderProxyBox
298 if (_startHandle != null) { 306 if (_startHandle != null) {
299 context.pushLayer( 307 context.pushLayer(
300 LeaderLayer( 308 LeaderLayer(
301 - link: _startHandle!,  
302 - offset: offset + value.startSelectionPoint!.localPosition,  
303 - ), 309 + link: _startHandle!,
  310 + offset: offset + value.startSelectionPoint!.localPosition),
304 (PaintingContext context, Offset offset) {}, 311 (PaintingContext context, Offset offset) {},
305 Offset.zero, 312 Offset.zero,
306 ); 313 );
@@ -308,9 +315,8 @@ class _RenderSelectableAdapter extends RenderProxyBox @@ -308,9 +315,8 @@ class _RenderSelectableAdapter extends RenderProxyBox
308 if (_endHandle != null) { 315 if (_endHandle != null) {
309 context.pushLayer( 316 context.pushLayer(
310 LeaderLayer( 317 LeaderLayer(
311 - link: _endHandle!,  
312 - offset: offset + value.endSelectionPoint!.localPosition,  
313 - ), 318 + link: _endHandle!,
  319 + offset: offset + value.endSelectionPoint!.localPosition),
314 (PaintingContext context, Offset offset) {}, 320 (PaintingContext context, Offset offset) {},
315 Offset.zero, 321 Offset.zero,
316 ); 322 );
@@ -320,6 +326,8 @@ class _RenderSelectableAdapter extends RenderProxyBox @@ -320,6 +326,8 @@ class _RenderSelectableAdapter extends RenderProxyBox
320 @override 326 @override
321 void dispose() { 327 void dispose() {
322 _geometry.dispose(); 328 _geometry.dispose();
  329 + _startHandle = null;
  330 + _endHandle = null;
323 super.dispose(); 331 super.dispose();
324 } 332 }
325 } 333 }
@@ -342,7 +342,7 @@ class IndentMd extends InlineMd { @@ -342,7 +342,7 @@ class IndentMd extends InlineMd {
342 direction: config.textDirection, 342 direction: config.textDirection,
343 child: Padding( 343 child: Padding(
344 padding: const EdgeInsetsDirectional.only(start: 10.0), 344 padding: const EdgeInsetsDirectional.only(start: 10.0),
345 - child: Expanded(child: config.getRich(child)), 345 + child: config.getRich(child),
346 ), 346 ),
347 ), 347 ),
348 ), 348 ),
@@ -15,7 +15,7 @@ dependencies: @@ -15,7 +15,7 @@ dependencies:
15 dev_dependencies: 15 dev_dependencies:
16 flutter_test: 16 flutter_test:
17 sdk: flutter 17 sdk: flutter
18 - flutter_lints: ^4.0.0 18 + flutter_lints: ^5.0.0
19 19
20 flutter: 20 flutter:
21 21