@@ -1445,27 +1445,12 @@ def _step(self, *args):
14451445 if not still_going and self .repeat :
14461446 self ._init_draw ()
14471447 self .frame_seq = self .new_frame_seq ()
1448- self .event_source .remove_callback (self ._step )
1449- self .event_source .add_callback (self ._loop_delay )
14501448 self .event_source .interval = self ._repeat_delay
14511449 return True
14521450 else :
1451+ self .event_source .interval = self ._interval
14531452 return still_going
14541453
1455- def _stop (self , * args ):
1456- # If we stop in the middle of a loop delay (which is relatively likely
1457- # given the potential pause here), remove the loop_delay callback as
1458- # well.
1459- self .event_source .remove_callback (self ._loop_delay )
1460- super ()._stop ()
1461-
1462- def _loop_delay (self , * args ):
1463- # Reset the interval and change callbacks after the delay.
1464- self .event_source .remove_callback (self ._loop_delay )
1465- self .event_source .interval = self ._interval
1466- self .event_source .add_callback (self ._step )
1467- Animation ._step (self )
1468-
14691454
14701455class ArtistAnimation (TimedAnimation ):
14711456 """
@@ -1657,10 +1642,10 @@ def __init__(self, fig, func, frames=None, init_func=None, fargs=None,
16571642 self ._iter_gen = frames
16581643 elif np .iterable (frames ):
16591644 if kwargs .get ('repeat' , True ):
1645+ self ._tee_from = frames
16601646 def iter_frames (frames = frames ):
1661- while True :
1662- this , frames = itertools .tee (frames , 2 )
1663- yield from this
1647+ this , self ._tee_from = itertools .tee (self ._tee_from , 2 )
1648+ yield from this
16641649 self ._iter_gen = iter_frames
16651650 else :
16661651 self ._iter_gen = lambda : iter (frames )
0 commit comments