bpo-34120: fix text viewer to call grab_release() only when needed (GH-8616)
diff --git a/Lib/idlelib/textview.py b/Lib/idlelib/textview.py
index e78e297..75b2470 100644
--- a/Lib/idlelib/textview.py
+++ b/Lib/idlelib/textview.py
@@ -83,7 +83,8 @@
command=self.ok, takefocus=False)
self.viewframe.pack(side='top', expand=True, fill='both')
- if modal:
+ self.is_modal = modal
+ if self.is_modal:
self.transient(parent)
self.grab_set()
if not _utest:
@@ -91,7 +92,8 @@
def ok(self, event=None):
"""Dismiss text viewer dialog."""
- self.grab_release()
+ if self.is_modal:
+ self.grab_release()
self.destroy()