FilledStacks / responsive_builder

A set of widgets to make responsive UI building in flutter more readable
MIT License
497 stars 80 forks source link

LateInitializationError: Field 'preferDesktop' has not been initialized. #48

Closed guyluz11 closed 1 year ago

guyluz11 commented 1 year ago

Error after updating from responsive_builder: ^0.4.3 to responsive_builder: ^0.6.3

Error when the screen size is small on desktop LateInitializationError: Field 'preferDesktop' has not been initialized.

Full log

======== Exception caught by widgets library =======================================================
The following LateError was thrown building LayoutBuilder:
LateInitializationError: Field 'preferDesktop' has not been initialized.

The relevant error-causing widget was: 
  LayoutBuilder LayoutBuilder:file:///home/guyluz/.pub-cache/hosted/pub.dev/responsive_builder-0.6.3/lib/src/widget_builders.dart:28:12
When the exception was thrown, this was the stack: 
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49  throw_
packages/responsive_builder/src/responsive_wrapper.dart 45:20                 get preferDesktop
packages/responsive_builder/src/widget_builders.dart 170:45                   <fn>
packages/responsive_builder/src/widget_builders.dart 40:21                    <fn>
packages/flutter/src/widgets/layout_builder.dart 119:70                       layoutCallback
packages/flutter/src/widgets/framework.dart 2682:19                           buildScope
packages/flutter/src/widgets/layout_builder.dart 153:5                        [_layout]
packages/flutter/src/rendering/object.dart 2300:59                            <fn>
packages/flutter/src/rendering/object.dart 1056:15                            [_enableMutationsToDirtySubtrees]
packages/flutter/src/rendering/object.dart 2300:7                             invokeLayoutCallback
packages/flutter/src/widgets/layout_builder.dart 228:7                        rebuildIfNecessary
packages/flutter/src/widgets/layout_builder.dart 313:5                        performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/layout_helper.dart 56:10                       layoutChild
packages/flutter/src/rendering/stack.dart 595:43                              [_computeSize]
packages/flutter/src/rendering/stack.dart 622:12                              performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/custom_layout.dart 171:10                      layoutChild
packages/flutter/src/material/scaffold.dart 1080:7                            performLayout
packages/flutter/src/rendering/custom_layout.dart 240:7                       [_callPerformLayout]
packages/flutter/src/rendering/custom_layout.dart 410:14                      performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/proxy_box.dart 1467:11                         performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/layout_helper.dart 56:10                       layoutChild
packages/flutter/src/rendering/stack.dart 595:43                              [_computeSize]
packages/flutter/src/rendering/stack.dart 622:12                              performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/proxy_box.dart 4802:11                         performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/widgets/layout_builder.dart 315:7                        performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 297:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/proxy_box.dart 3815:13                         performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/widgets/overlay.dart 856:14                              performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2027:7                             [_layoutWithoutResize]
packages/flutter/src/rendering/object.dart 1020:17                            flushLayout
packages/flutter/src/rendering/binding.dart 516:19                            drawFrame
packages/flutter/src/widgets/binding.dart 865:13                              drawFrame
packages/flutter/src/rendering/binding.dart 381:5                             [_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart 1289:15                           [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1218:9                            handleDrawFrame
packages/flutter/src/scheduler/binding.dart 942:7                             <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:19       internalCallback
====================================================================================================

======== Exception caught by widgets library =======================================================
The following LateError was thrown building LayoutBuilder:
LateInitializationError: Field 'preferDesktop' has not been initialized.

The relevant error-causing widget was: 
  LayoutBuilder LayoutBuilder:file:///home/guyluz/.pub-cache/hosted/pub.dev/responsive_builder-0.6.3/lib/src/widget_builders.dart:28:12
When the exception was thrown, this was the stack: 
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49  throw_
packages/responsive_builder/src/responsive_wrapper.dart 45:20                 get preferDesktop
packages/responsive_builder/src/widget_builders.dart 170:45                   <fn>
packages/responsive_builder/src/widget_builders.dart 40:21                    <fn>
packages/flutter/src/widgets/layout_builder.dart 119:70                       layoutCallback
packages/flutter/src/widgets/framework.dart 2682:19                           buildScope
packages/flutter/src/widgets/layout_builder.dart 153:5                        [_layout]
packages/flutter/src/rendering/object.dart 2300:59                            <fn>
packages/flutter/src/rendering/object.dart 1056:15                            [_enableMutationsToDirtySubtrees]
packages/flutter/src/rendering/object.dart 2300:7                             invokeLayoutCallback
packages/flutter/src/widgets/layout_builder.dart 228:7                        rebuildIfNecessary
packages/flutter/src/widgets/layout_builder.dart 313:5                        performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/layout_helper.dart 56:10                       layoutChild
packages/flutter/src/rendering/stack.dart 595:43                              [_computeSize]
packages/flutter/src/rendering/stack.dart 622:12                              performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/custom_layout.dart 171:10                      layoutChild
packages/flutter/src/material/scaffold.dart 1080:7                            performLayout
packages/flutter/src/rendering/custom_layout.dart 240:7                       [_callPerformLayout]
packages/flutter/src/rendering/custom_layout.dart 410:14                      performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/proxy_box.dart 1467:11                         performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/layout_helper.dart 56:10                       layoutChild
packages/flutter/src/rendering/stack.dart 595:43                              [_computeSize]
packages/flutter/src/rendering/stack.dart 622:12                              performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/proxy_box.dart 4802:11                         performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/widgets/layout_builder.dart 315:7                        performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 297:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/proxy_box.dart 3815:13                         performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/widgets/overlay.dart 856:14                              performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2189:7                             layout
packages/flutter/src/rendering/box.dart 2430:11                               layout
packages/flutter/src/rendering/proxy_box.dart 120:7                           performLayout
packages/flutter/src/rendering/object.dart 2027:7                             [_layoutWithoutResize]
packages/flutter/src/rendering/object.dart 1020:17                            flushLayout
packages/flutter/src/rendering/binding.dart 516:19                            drawFrame
packages/flutter/src/widgets/binding.dart 865:13                              drawFrame
packages/flutter/src/rendering/binding.dart 381:5                             [_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart 1289:15                           [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1218:9                            handleDrawFrame
packages/flutter/src/scheduler/binding.dart 942:7                             <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:19       internalCallback
====================================================================================================

======== Exception caught by services library ======================================================
The following assertion was thrown during a platform message callback:
Assertion failed: file:///home/guyluz/snap/flutter/common/flutter/packages/flutter/lib/src/services/raw_keyboard.dart:683:7
event is! RawKeyDownEvent || _keysPressed.isNotEmpty
"Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key event being sent doesn't properly set its modifier flags. This was the event: RawKeyDownEvent#984f6(logicalKey: LogicalKeyboardKey#4b191(keyId: \"0x200000106\", keyLabel: \"Meta Left\", debugName: \"Meta Left\"), physicalKey: PhysicalKeyboardKey#700e3(usbHidUsage: \"0x000700e3\", debugName: \"Meta Left\"), repeat: false) and its data: RawKeyEventDataWeb#b86ed(code: MetaLeft, key: Meta, location: 1, metaState: 0, keyCode: 91)"

When the exception was thrown, this was the stack: 
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49      throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3        assertFailed
packages/flutter/src/services/raw_keyboard.dart 683:49                            handleRawKeyEvent
packages/flutter/src/services/hardware_keyboard.dart 951:30                       handleRawKeyMessage
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
packages/flutter/src/services/hardware_keyboard.dart 923:51                       handleRawKeyMessage
packages/flutter/src/services/platform_channel.dart 214:49                        <fn>
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
packages/flutter/src/services/platform_channel.dart 213:58                        <fn>
packages/flutter/src/services/binding.dart 393:35                                 <fn>
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
packages/flutter/src/services/binding.dart 390:98                                 <fn>
lib/_engine/engine/platform_dispatcher.dart 1199:13                               invoke2
lib/ui/channel_buffers.dart 25:12                                                 invoke
lib/ui/channel_buffers.dart 65:7                                                  push
lib/ui/channel_buffers.dart 131:16                                                push
lib/_engine/engine/platform_dispatcher.dart 378:25                                invokeOnPlatformMessage
lib/_engine/engine/raw_keyboard.dart 142:39                                       [_handleHtmlEvent]
lib/_engine/engine/raw_keyboard.dart 12:7                                         <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 367:37  _checkAndCall
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 372:39  dcall
====================================================================================================
FilledStacks commented 1 year ago

Hi, thanks for filing the issue. I will take a look at this now.

FilledStacks commented 1 year ago

This is fixed in 0.6.4