From: Guido van Rossum Date: Fri, 20 Aug 1999 18:26:06 +0000 (+0000) Subject: Add calls to self.protocol("WM_DELETE_WINDOW", self.destroy) to the Tk X-Git-Tag: v1.6a1~988 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e61e98d2ae345518f68d199f04f982c331beb210;p=thirdparty%2FPython%2Fcpython.git Add calls to self.protocol("WM_DELETE_WINDOW", self.destroy) to the Tk and Toplevel class constructors. This means that if the window manager closes the window, the Python-side Tkinter data structures will be destroyed correctly. (Most apps do this anyway, and it's recommended practice; I see no reason why making it the default behavior could be bad.) --- diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py index 8d06ef16a57c..76745910d18c 100644 --- a/Lib/lib-tk/Tkinter.py +++ b/Lib/lib-tk/Tkinter.py @@ -910,6 +910,7 @@ class Tk(Misc, Wm): self.readprofile(baseName, className) if _support_default_root and not _default_root: _default_root = self + self.protocol("WM_DELETE_WINDOW", self.destroy) def destroy(self): for c in self.children.values(): c.destroy() self.tk.call('destroy', self._w) @@ -1119,6 +1120,7 @@ class Toplevel(BaseWidget, Wm): root = self._root() self.iconname(root.iconname()) self.title(root.title()) + self.protocol("WM_DELETE_WINDOW", self.destroy) class Button(Widget): def __init__(self, master=None, cnf={}, **kw):