Patch #1594554: Always close a tkSimpleDialog on ok(), even
if an exception occurs.
diff --git a/Lib/lib-tk/tkSimpleDialog.py b/Lib/lib-tk/tkSimpleDialog.py
index 02ea034..4450484 100644
--- a/Lib/lib-tk/tkSimpleDialog.py
+++ b/Lib/lib-tk/tkSimpleDialog.py
@@ -129,9 +129,10 @@
self.withdraw()
self.update_idletasks()
- self.apply()
-
- self.cancel()
+ try:
+ self.apply()
+ finally:
+ self.cancel()
def cancel(self, event=None):
diff --git a/Misc/NEWS b/Misc/NEWS
index 6e50ed3..5b98155 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -103,6 +103,9 @@
Library
-------
+- Patch #1594554: Always close a tkSimpleDialog on ok(), even
+ if an exception occurs.
+
- Patch #1538878: Don't make tkSimpleDialog dialogs transient if
the parent window is withdrawn.