diff --git a/manimlib/mobject/mobject.py b/manimlib/mobject/mobject.py index 6eeeec74..ca87344c 100644 --- a/manimlib/mobject/mobject.py +++ b/manimlib/mobject/mobject.py @@ -173,6 +173,12 @@ class Mobject(Container): def get_updaters(self): return self.updaters + def get_family_updaters(self): + return list(it.chain(*[ + sm.get_updaters() + for sm in self.get_family() + ])) + def add_updater(self, update_function, index=None, call_updater=True): if index is None: self.updaters.append(update_function) diff --git a/manimlib/scene/scene.py b/manimlib/scene/scene.py index 2a0ca6b4..7a8b69f6 100644 --- a/manimlib/scene/scene.py +++ b/manimlib/scene/scene.py @@ -288,7 +288,7 @@ class Scene(Container): for i, mob in enumerate(mobjects): update_possibilities = [ mob in animation_mobjects, - len(mob.get_updaters()) > 0, + len(mob.get_family_updaters()) > 0, mob in self.foreground_mobjects ] if any(update_possibilities):