Commit d32e9569 authored by Guido van Rossum's avatar Guido van Rossum

Raise the root window on reset().

Different action on WM_DELETE_WINDOW is more likely to do the right thing,
allowing us to destroy old windows.
parent 895eed0c
...@@ -39,6 +39,7 @@ class RawPen: ...@@ -39,6 +39,7 @@ class RawPen:
self._path = [] self._path = []
self._tofill = [] self._tofill = []
self.clear() self.clear()
canvas._root().tkraise()
def clear(self): def clear(self):
self.fill(0) self.fill(0)
...@@ -242,25 +243,22 @@ class Pen(RawPen): ...@@ -242,25 +243,22 @@ class Pen(RawPen):
global _root, _canvas global _root, _canvas
if _root is None: if _root is None:
_root = Tk.Tk() _root = Tk.Tk()
_root.wm_protocol("WM_DELETE_WINDOW", self.destroy) _root.wm_protocol("WM_DELETE_WINDOW", self._destroy)
if _canvas is None: if _canvas is None:
# XXX Should have scroll bars # XXX Should have scroll bars
_canvas = Tk.Canvas(_root, background="white") _canvas = Tk.Canvas(_root, background="white")
_canvas.pack(expand=1, fill="both") _canvas.pack(expand=1, fill="both")
RawPen.__init__(self, _canvas) RawPen.__init__(self, _canvas)
def destroy(self): def _destroy(self):
global _root, _canvas, _pen global _root, _canvas, _pen
self.clear() root = self._canvas._root()
if self is _pen: if root is _root:
_pen = None _pen = None
root = _root; _root = None _root = None
canvas = _canvas; _canvas = None _canvas = None
if root:
try:
root.destroy() root.destroy()
except Tk.TclError:
pass
def _getpen(): def _getpen():
global _pen global _pen
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment