diff --git a/wh-engine/actor.lisp b/wh-engine/actor.lisp index 21c3210..abb7855 100644 --- a/wh-engine/actor.lisp +++ b/wh-engine/actor.lisp @@ -151,11 +151,12 @@ (defmethod parent-activated ((this actor) parent) "Called when the actor's parent is activated." [this (recompute-blocked-p)] - (loop for child-ptr in [this children] - for child = (weak-pointer-value child-ptr) - do [child (parent-activated parent)]) - (loop for component in [this components] - do [component (parent-activated parent)])) + (when [this tree-active-p] + (loop for child-ptr in [this children] + for child = (weak-pointer-value child-ptr) + do [child (parent-activated parent)]) + (loop for component in [this components] + do [component (parent-activated parent)]))) (defmethod parent-changed ((this actor)) "Called when the actor's parent is changed."