Dialog.py: d.num should be numeric, not string
Tkinter.py: on destroy(), remove self from master's dict of children
diff --git a/Lib/tkinter/Tkinter.py b/Lib/tkinter/Tkinter.py
index 5a2e6b2..4b012f1 100755
--- a/Lib/tkinter/Tkinter.py
+++ b/Lib/tkinter/Tkinter.py
@@ -679,6 +679,8 @@
 		return self._w
 	def destroy(self):
 		for c in self.children.values(): c.destroy()
+		if self.master.children.has_key(self._name):
+			del self.master.children[self._name]
 		self.tk.call('destroy', self._w)
 	def _do(self, name, args=()):
 		return apply(self.tk.call, (self._w, name) + args)