Skip to content

Commit 8a905b4

Browse files
Update turtle.py
Update RawTurtle.clone() method. 1) moved self._newLine(self._drawing) after deepcopy() 2) added q.items.append(q.currentLineItem) after q.currentLineItem = screen._createline() Reason for 1): When clear method is called on the cloned Turtle object, the method also deletes the first line of the original Turtle object which is drawn after cloning. Reason for 2): When clear method is called on the cloned Turtle object, the method does not delete the first line of the cloned Turtle object which is drawn after cloning
1 parent 32e07fd commit 8a905b4

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

Lib/turtle.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2812,13 +2812,13 @@ def clone(self):
28122812
joe = mick.clone()
28132813
"""
28142814
screen = self.screen
2815-
self._newLine(self._drawing)
28162815

28172816
turtle = self.turtle
28182817
self.screen = None
28192818
self.turtle = None # too make self deepcopy-able
28202819

28212820
q = deepcopy(self)
2821+
self._newLine(self._drawing)
28222822

28232823
self.screen = screen
28242824
self.turtle = turtle
@@ -2836,6 +2836,7 @@ def clone(self):
28362836
q.turtle._item = [screen._createpoly() for item in
28372837
screen._shapes[self.turtle.shapeIndex]._data]
28382838
q.currentLineItem = screen._createline()
2839+
q.items.append(q.currentLineItem)
28392840
q._update()
28402841
return q
28412842

0 commit comments

Comments
 (0)