From 31b2c7aaed69a342a4c6c99ec0ec9c614ad7d42e Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Tue, 3 Oct 2023 00:21:23 +0800 Subject: [PATCH] add small delay to FilamentWidget in debug mode --- lib/filament_widget.dart | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/filament_widget.dart b/lib/filament_widget.dart index 0b9a3308..808552b6 100644 --- a/lib/filament_widget.dart +++ b/lib/filament_widget.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'dart:math'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; @@ -127,6 +128,12 @@ class _FilamentWidgetState extends State { ); WidgetsBinding.instance.addPostFrameCallback((timeStamp) async { + // when attaching a debugger via Android Studio on startup, this can delay presentation of the widget + // (meaning the widget may attempt to create a viewer with size 0x0). + // we just add a small delay here which should avoid this + if (!kReleaseMode) { + await Future.delayed(Duration(seconds: 2)); + } var size = ((context.findRenderObject()) as RenderBox).size; widget.controller.createViewer(size.width.toInt(), size.height.toInt());