I have forked the Flutter ListTile and created my own custom list tile widget. Inside this custom list tile, I am using a checkbox from the flutter_form_builder package, which internally uses CheckboxListTile. The issue I am facing is an assertion error in debug mode, but it does not occur in release mode. Here is the error message:
======== Exception caught by rendering library =====================================================
The following assertion was thrown during performLayout():
Leading widget consumes entire tile width. Please use a sized widget, or consider replacing ListTile with a custom widget (see https://api.flutter.dev/flutter/material/ListTile-class.html#material.ListTile.4)
'package:flutter/src/material/list_tile.dart':
Failed assertion: line 1318 pos 7: 'tileWidth != leadingSize.width || tileWidth == 0.0'
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=2_bug.yml
The relevant error-causing widget was:
CheckboxListTile CheckboxListTile:file:///Users/umair.k/.pub-cache/hosted/pub.dev/flutter_form_builder-9.2.1/lib/src/fields/form_builder_checkbox.dart:128:22
When the exception was thrown, this was the stack:
#2 _RenderListTile.performLayout (package:flutter/src/material/list_tile.dart:1318:7)
#3 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#4 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#5 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:239:12)
#6 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#7 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#8 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:239:12)
#9 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#10 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#12 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#13 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#14 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#15 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#16 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#17 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#18 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#19 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#20 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#21 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#22 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#23 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#24 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#25 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#26 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#27 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#28 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#29 _RenderDecoration._layoutLineBox (package:flutter/src/material/input_decorator.dart:923:9)
#30 _RenderDecoration._layout (package:flutter/src/material/input_decorator.dart:1045:28)
#31 _RenderDecoration.performLayout (package:flutter/src/material/input_decorator.dart:1364:44)
#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#33 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#34 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:280:14)
#35 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#36 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#37 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:52:11)
#38 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:809:43)
#39 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:904:32)
#40 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#41 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#42 _RenderListTile._layoutBox (package:widgetbook_tlf/src/widgets/coruscant_list_item/list_item/custom_list_tile.dart:1340:9)
#43 _RenderListTile.performLayout (package:widgetbook_tlf/src/widgets/coruscant_list_item/list_item/custom_list_tile.dart:1386:31)
#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#45 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#46 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:239:12)
#47 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#48 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#49 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:239:12)
#50 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#51 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#52 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#54 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#55 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#56 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#57 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#58 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#59 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#60 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#61 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#62 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#63 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#66 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#67 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#68 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#69 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#70 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#71 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1440:11)
#72 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#73 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#74 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#75 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#76 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#77 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:21)
#78 RenderObject.layout (package:flutter/src/rendering/object.dart:2575:7)
#79 RenderBox.layout (package
I have commented out the relevant assertion in my custom list tile to prevent the error, but the assertion still fails when flutter_form_builder’s CheckboxListTile is called internally.
This issue only occurs in debug mode and not in release mode. How can I resolve this assertion error while using my custom list tile with the flutter_form_builder package in debug mode?