]> granicus.if.org Git - python/commitdiff
Applying patches backported from 3.1, by Gregor Lingl.
authorR. David Murray <rdmurray@bitdance.com>
Mon, 28 Sep 2009 18:29:28 +0000 (18:29 +0000)
committerR. David Murray <rdmurray@bitdance.com>
Mon, 28 Sep 2009 18:29:28 +0000 (18:29 +0000)
Demo/turtle/turtleDemo.py
Lib/lib-tk/turtle.py

index 5e744efe469ae05543056353a1e98ca3cd07dbe3..38a44e0ea137d4a65c5603f00a0d247edaf92ebc 100644 (file)
@@ -98,6 +98,7 @@ class DemoWindow(object):
         turtle._Screen._canvas = turtle.ScrolledCanvas(g_frame, 800, 600, 1000, 800)
         #xturtle.Screen._canvas.pack(expand=1, fill="both")
         self.screen = _s_ = turtle.Screen()
+        turtle.TurtleScreen.__init__(_s_, _s_._canvas)
         self.scanvas = _s_._canvas
         #xturtle.RawTurtle.canvases = [self.scanvas]
         turtle.RawTurtle.screens = [_s_]
index a3dc8523169acd63630c8979e6f4e8d76b6f858c..625b31bce7c14b97cee11bfa65ba9976f0dfbbec 100644 (file)
@@ -1,8 +1,8 @@
 #
 # turtle.py: a Tkinter based turtle graphics module for Python
-# Version 1.0b1 - 31. 5. 2008
+# Version 1.0.1 - 24. 9. 2009
 #
-# Copyright (C) 2006 - 2008  Gregor Lingl
+# Copyright (C) 2006 - 2009  Gregor Lingl
 # email: glingl@aon.at
 #
 # This software is provided 'as-is', without any express or implied
@@ -1244,9 +1244,12 @@ class TurtleScreen(TurtleScreenBase):
     def update(self):
         """Perform a TurtleScreen update.
         """
+        tracing = self._tracing
+        self._tracing = True
         for t in self.turtles():
             t._update_data()
             t._drawturtle()
+        self._tracing = tracing
         self._update()
 
     def window_width(self):
@@ -1337,7 +1340,8 @@ class TurtleScreen(TurtleScreenBase):
         ### consequently drawing a hexagon
         """
         if fun == None:
-            self._keys.remove(key)
+            if key in self._keys:
+                self._keys.remove(key)
         elif key not in self._keys:
             self._keys.append(key)
         self._onkey(fun, key)
@@ -3574,8 +3578,8 @@ class _Screen(TurtleScreen):
             topbottom = _CFG["topbottom"]
             self._root.setupcanvas(width, height, canvwidth, canvheight)
             _Screen._canvas = self._root._getcanvas()
+            TurtleScreen.__init__(self, _Screen._canvas)
             self.setup(width, height, leftright, topbottom)
-        TurtleScreen.__init__(self, _Screen._canvas)
 
     def setup(self, width=_CFG["width"], height=_CFG["height"],
               startx=_CFG["leftright"], starty=_CFG["topbottom"]):
@@ -3615,6 +3619,7 @@ class _Screen(TurtleScreen):
         if starty is None:
             starty = (sh - height) / 2
         self._root.set_geometry(width, height, startx, starty)
+        self.update()
 
     def title(self, titlestring):
         """Set title of turtle-window