Commit 10ea9409 authored by Tal Einat's avatar Tal Einat Committed by GitHub

bpo-34120: fix IDLE freezing after closing dialogs (GH-8603)

Added missing .grab_release() calls to all places where we call .grab_set().
parent 80b762f0
...@@ -235,10 +235,12 @@ class GetKeysDialog(Toplevel): ...@@ -235,10 +235,12 @@ class GetKeysDialog(Toplevel):
return return
if (self.advanced or self.KeysOK(keys)) and self.bind_ok(keys): if (self.advanced or self.KeysOK(keys)) and self.bind_ok(keys):
self.result = keys self.result = keys
self.grab_release()
self.destroy() self.destroy()
def Cancel(self, event=None): def Cancel(self, event=None):
self.result='' self.result=''
self.grab_release()
self.destroy() self.destroy()
def KeysOK(self, keys): def KeysOK(self, keys):
......
...@@ -191,6 +191,7 @@ class ConfigDialog(Toplevel): ...@@ -191,6 +191,7 @@ class ConfigDialog(Toplevel):
def destroy(self): def destroy(self):
global font_sample_text global font_sample_text
font_sample_text = self.fontpage.font_sample.get('1.0', 'end') font_sample_text = self.fontpage.font_sample.get('1.0', 'end')
self.grab_release()
super().destroy() super().destroy()
def help(self): def help(self):
......
...@@ -195,6 +195,7 @@ class AboutDialog(Toplevel): ...@@ -195,6 +195,7 @@ class AboutDialog(Toplevel):
def ok(self, event=None): def ok(self, event=None):
"Dismiss help_about dialog." "Dismiss help_about dialog."
self.grab_release()
self.destroy() self.destroy()
......
...@@ -143,6 +143,10 @@ class Query(Toplevel): ...@@ -143,6 +143,10 @@ class Query(Toplevel):
self.result = None self.result = None
self.destroy() self.destroy()
def destroy(self):
self.grab_release()
super().destroy()
class SectionName(Query): class SectionName(Query):
"Get a name for a config file section name." "Get a name for a config file section name."
......
...@@ -91,6 +91,7 @@ class ViewWindow(Toplevel): ...@@ -91,6 +91,7 @@ class ViewWindow(Toplevel):
def ok(self, event=None): def ok(self, event=None):
"""Dismiss text viewer dialog.""" """Dismiss text viewer dialog."""
self.grab_release()
self.destroy() self.destroy()
......
Fix unresponsiveness after closing certain windows and dialogs.
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment