From 071201a5bba86afad3e2a5b41da3cf790b4784ec Mon Sep 17 00:00:00 2001 From: Viktor Lidholt Date: Mon, 5 Oct 2015 11:24:59 -0700 Subject: [PATCH] Prevents sprite update methods to be called before the sprite box has been property intialized --- packages/flutter_sprites/lib/sprite_box.dart | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/flutter_sprites/lib/sprite_box.dart b/packages/flutter_sprites/lib/sprite_box.dart index 3abf3be04c..90f88c3b0e 100644 --- a/packages/flutter_sprites/lib/sprite_box.dart +++ b/packages/flutter_sprites/lib/sprite_box.dart @@ -86,6 +86,8 @@ class SpriteBox extends RenderBox { return _visibleArea; } + bool _initialized = false; + // Setup /// Creates a new SpriteBox with a node as its content, by default uses letterboxing. @@ -136,6 +138,7 @@ class SpriteBox extends RenderBox { size = constraints.biggest; _invalidateTransformMatrix(); _callSpriteBoxPerformedLayout(_rootNode); + _initialized = true; } // Adding and removing nodes @@ -361,11 +364,13 @@ class SpriteBox extends RenderBox { _frameRate = 1.0/delta; - _callConstraintsPreUpdate(delta); - _runActions(delta); - _callUpdate(_rootNode, delta); - _callStepPhysics(delta); - _callConstraintsConstrain(delta); + if (_initialized) { + _callConstraintsPreUpdate(delta); + _runActions(delta); + _callUpdate(_rootNode, delta); + _callStepPhysics(delta); + _callConstraintsConstrain(delta); + } // Schedule next update _scheduleTick();