]> granicus.if.org Git - python/commitdiff
bpo-34120: fix IDLE freezing after closing dialogs (GH-8603)
authorTal Einat <taleinat+github@gmail.com>
Thu, 2 Aug 2018 06:18:29 +0000 (09:18 +0300)
committerGitHub <noreply@github.com>
Thu, 2 Aug 2018 06:18:29 +0000 (09:18 +0300)
Added missing .grab_release() calls to all places where we call .grab_set().

Lib/idlelib/config_key.py
Lib/idlelib/configdialog.py
Lib/idlelib/help_about.py
Lib/idlelib/query.py
Lib/idlelib/textview.py
Misc/NEWS.d/next/IDLE/2018-08-01-23-25-38.bpo-34120.HgsIz-.rst [new file with mode: 0644]

index 7f4bb49ec8a6f20f39eb801616139b0d178c49a8..abab74265f3ef81f0033c08188a01d5573a565d8 100644 (file)
@@ -235,10 +235,12 @@ class GetKeysDialog(Toplevel):
             return
         if (self.advanced or self.KeysOK(keys)) and self.bind_ok(keys):
             self.result = keys
+        self.grab_release()
         self.destroy()
 
     def Cancel(self, event=None):
         self.result=''
+        self.grab_release()
         self.destroy()
 
     def KeysOK(self, keys):
index c7832380940321afe9539c7708df63cbcd043527..e682ec0da3200eb51895810fe86b04e3ad469cdf 100644 (file)
@@ -191,6 +191,7 @@ class ConfigDialog(Toplevel):
     def destroy(self):
         global font_sample_text
         font_sample_text = self.fontpage.font_sample.get('1.0', 'end')
+        self.grab_release()
         super().destroy()
 
     def help(self):
index 2a274a930482d05972f09eaf8910324007c1903a..64b13ac2abb3b2eb76fa35d9eee9b2eff0bd70ae 100644 (file)
@@ -195,6 +195,7 @@ class AboutDialog(Toplevel):
 
     def ok(self, event=None):
         "Dismiss help_about dialog."
+        self.grab_release()
         self.destroy()
 
 
index 15add6d12748d05f0e04951089290941bc1564fa..c2628cceb739781a96cd17d61ada0a8f477e1e61 100644 (file)
@@ -143,6 +143,10 @@ class Query(Toplevel):
         self.result = None
         self.destroy()
 
+    def destroy(self):
+        self.grab_release()
+        super().destroy()
+
 
 class SectionName(Query):
     "Get a name for a config file section name."
index d9260e6c7183fc8bcb4465901afac844ee19c794..e78e297ab9936e07429a8f24cbfe063b4c1e9907 100644 (file)
@@ -91,6 +91,7 @@ class ViewWindow(Toplevel):
 
     def ok(self, event=None):
         """Dismiss text viewer dialog."""
+        self.grab_release()
         self.destroy()
 
 
diff --git a/Misc/NEWS.d/next/IDLE/2018-08-01-23-25-38.bpo-34120.HgsIz-.rst b/Misc/NEWS.d/next/IDLE/2018-08-01-23-25-38.bpo-34120.HgsIz-.rst
new file mode 100644 (file)
index 0000000..f9954f7
--- /dev/null
@@ -0,0 +1 @@
+Fix unresponsiveness after closing certain windows and dialogs.
\ No newline at end of file