diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2021-04-25 14:49:32 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-25 14:49:32 (GMT) |
commit | 8af929fc76f21fb123f6a47cb3ebcf4e5b758dea (patch) | |
tree | 47d517ed84462d4bf49976511afc2e702853c71f /Lib/turtle.py | |
parent | 09aa6f914dc313875ff18474770a0a7c13ea8dea (diff) | |
download | cpython-8af929fc76f21fb123f6a47cb3ebcf4e5b758dea.zip cpython-8af929fc76f21fb123f6a47cb3ebcf4e5b758dea.tar.gz cpython-8af929fc76f21fb123f6a47cb3ebcf4e5b758dea.tar.bz2 |
bpo-43534: Fix the turtle module working with multiple root windows (GH-25591)
Diffstat (limited to 'Lib/turtle.py')
-rw-r--r-- | Lib/turtle.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/Lib/turtle.py b/Lib/turtle.py index 11429a6..08c5b47 100644 --- a/Lib/turtle.py +++ b/Lib/turtle.py @@ -464,20 +464,18 @@ class TurtleScreenBase(object): a corresponding TurtleScreenBase class has to be implemented. """ - @staticmethod - def _blankimage(): + def _blankimage(self): """return a blank image object """ - img = TK.PhotoImage(width=1, height=1) + img = TK.PhotoImage(width=1, height=1, master=self.cv) img.blank() return img - @staticmethod - def _image(filename): + def _image(self, filename): """return an image object containing the imagedata from a gif-file named filename. """ - return TK.PhotoImage(file=filename) + return TK.PhotoImage(file=filename, master=self.cv) def __init__(self, cv): self.cv = cv @@ -811,7 +809,7 @@ class TurtleScreenBase(object): >>> screen.mainloop() """ - TK.mainloop() + self.cv.tk.mainloop() def textinput(self, title, prompt): """Pop up a dialog window for input of a string. @@ -966,6 +964,8 @@ class TurtleScreen(TurtleScreenBase): def __init__(self, cv, mode=_CFG["mode"], colormode=_CFG["colormode"], delay=_CFG["delay"]): + TurtleScreenBase.__init__(self, cv) + self._shapes = { "arrow" : Shape("polygon", ((-10,0), (10,0), (0,10))), "turtle" : Shape("polygon", ((0,16), (-2,14), (-1,10), (-4,7), @@ -989,7 +989,6 @@ class TurtleScreen(TurtleScreenBase): self._bgpics = {"nopic" : ""} - TurtleScreenBase.__init__(self, cv) self._mode = mode self._delayvalue = delay self._colormode = _CFG["colormode"] |