bpo-34120: fix text viewer to call grab_release() only when needed (GH-8616)
(cherry picked from commit dd74369cb7b230b07ac3a031563406c8f2aae17f)
Co-authored-by: Tal Einat <taleinat+github@gmail.com>
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()