From 84fa3de435b5ea7651c156a0f707f565b356205e Mon Sep 17 00:00:00 2001 From: Grant Sanderson Date: Thu, 3 Nov 2022 16:35:41 -0700 Subject: [PATCH] By default, don't let Mobject.become match updaters This causes the use of Mobject.become in an updater function to make the mobject immediately lose its updater. https://github.com/3b1b/manim/issues/1877 --- manimlib/mobject/mobject.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/manimlib/mobject/mobject.py b/manimlib/mobject/mobject.py index 872f85db..ef23bc49 100644 --- a/manimlib/mobject/mobject.py +++ b/manimlib/mobject/mobject.py @@ -627,7 +627,7 @@ class Mobject(object): mobject = pickle.load(fp) return mobject - def become(self, mobject: Mobject): + def become(self, mobject: Mobject, match_updaters=False): """ Edit all data and submobjects to be idential to another mobject @@ -647,7 +647,8 @@ class Mobject(object): if isinstance(value, Mobject) and value in family2: setattr(self, attr, family1[family2.index(value)]) self.refresh_bounding_box(recurse_down=True) - self.match_updaters(mobject) + if match_updaters: + self.match_updaters(mobject) return self def looks_identical(self, mobject: Mobject):