@@ -62,7 +62,7 @@ var Body = require('./Body');
6262 Composite . setModified = function ( composite , isModified , updateParents , updateChildren ) {
6363 composite . isModified = isModified ;
6464
65- if ( isModified ) {
65+ if ( isModified && composite . cache ) {
6666 composite . cache . allBodies = null ;
6767 composite . cache . allConstraints = null ;
6868 composite . cache . allComposites = null ;
@@ -73,7 +73,7 @@ var Body = require('./Body');
7373 }
7474
7575 if ( updateChildren ) {
76- for ( var i = 0 ; i < composite . composites . length ; i ++ ) {
76+ for ( var i = 0 ; i < composite . composites . length ; i ++ ) {
7777 var childComposite = composite . composites [ i ] ;
7878 Composite . setModified ( childComposite , isModified , updateParents , updateChildren ) ;
7979 }
@@ -359,7 +359,7 @@ var Body = require('./Body');
359359 * @return {body[] } All the bodies
360360 */
361361 Composite . allBodies = function ( composite ) {
362- if ( composite . cache . allBodies ) {
362+ if ( composite . cache && composite . cache . allBodies ) {
363363 return composite . cache . allBodies ;
364364 }
365365
@@ -368,7 +368,9 @@ var Body = require('./Body');
368368 for ( var i = 0 ; i < composite . composites . length ; i ++ )
369369 bodies = bodies . concat ( Composite . allBodies ( composite . composites [ i ] ) ) ;
370370
371- composite . cache . allBodies = bodies ;
371+ if ( composite . cache ) {
372+ composite . cache . allBodies = bodies ;
373+ }
372374
373375 return bodies ;
374376 } ;
@@ -380,7 +382,7 @@ var Body = require('./Body');
380382 * @return {constraint[] } All the constraints
381383 */
382384 Composite . allConstraints = function ( composite ) {
383- if ( composite . cache . allConstraints ) {
385+ if ( composite . cache && composite . cache . allConstraints ) {
384386 return composite . cache . allConstraints ;
385387 }
386388
@@ -389,7 +391,9 @@ var Body = require('./Body');
389391 for ( var i = 0 ; i < composite . composites . length ; i ++ )
390392 constraints = constraints . concat ( Composite . allConstraints ( composite . composites [ i ] ) ) ;
391393
392- composite . cache . allConstraints = constraints ;
394+ if ( composite . cache ) {
395+ composite . cache . allConstraints = constraints ;
396+ }
393397
394398 return constraints ;
395399 } ;
@@ -401,7 +405,7 @@ var Body = require('./Body');
401405 * @return {composite[] } All the composites
402406 */
403407 Composite . allComposites = function ( composite ) {
404- if ( composite . cache . allComposites ) {
408+ if ( composite . cache && composite . cache . allComposites ) {
405409 return composite . cache . allComposites ;
406410 }
407411
@@ -410,7 +414,9 @@ var Body = require('./Body');
410414 for ( var i = 0 ; i < composite . composites . length ; i ++ )
411415 composites = composites . concat ( Composite . allComposites ( composite . composites [ i ] ) ) ;
412416
413- composite . cache . allComposites = composites ;
417+ if ( composite . cache ) {
418+ composite . cache . allComposites = composites ;
419+ }
414420
415421 return composites ;
416422 } ;
0 commit comments