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

Put a try-except around the "image delete" call in Image.__del__ to

avoid tracebacks when the root is destroyed before the image object.
parent 7f1653c0
...@@ -4,7 +4,7 @@ __version__ = "$Revision$" ...@@ -4,7 +4,7 @@ __version__ = "$Revision$"
import sys import sys
if sys.platform == "win32": if sys.platform == "win32":
import FixTk # Attempt to configure Tcl/Tk without requiring PATH import FixTk # Attempt to configure Tcl/Tk without requiring PATH
import _tkinter # If this fails your Python may not be configured for Tk import _tkinter # If this fails your Python may not be configured for Tk
tkinter = _tkinter # b/w compat for export tkinter = _tkinter # b/w compat for export
TclError = _tkinter.TclError TclError = _tkinter.TclError
...@@ -1827,7 +1827,11 @@ class Image: ...@@ -1827,7 +1827,11 @@ class Image:
def __str__(self): return self.name def __str__(self): return self.name
def __del__(self): def __del__(self):
if self.name: if self.name:
self.tk.call('image', 'delete', self.name) try:
self.tk.call('image', 'delete', self.name)
except TclError:
# May happen if the root was destroyed
pass
def __setitem__(self, key, value): def __setitem__(self, key, value):
self.tk.call(self.name, 'configure', '-'+key, value) self.tk.call(self.name, 'configure', '-'+key, value)
def __getitem__(self, key): def __getitem__(self, key):
......
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