Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Lib/idlelib/aboutDialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ def display_file_text(self, title, filename, encoding=None):
textView.view_file(self, title, fn, encoding)

def Ok(self, event=None):
self.grab_release()
self.destroy()

if __name__ == '__main__':
Expand Down
2 changes: 2 additions & 0 deletions Lib/idlelib/configDialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -1197,10 +1197,12 @@ def ActivateConfigChanges(self):
instance.reset_help_menu_entries()

def Cancel(self):
self.grab_release()
self.destroy()

def Ok(self):
self.Apply()
self.grab_release()
self.destroy()

def Apply(self):
Expand Down
2 changes: 2 additions & 0 deletions Lib/idlelib/configHelpSourceEdit.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,10 +155,12 @@ def Ok(self, event=None):
# Mac Safari insists on using the URI form for local files
self.result = list(self.result)
self.result[1] = "file://" + path
self.grab_release()
self.destroy()

def Cancel(self, event=None):
self.result = None
self.grab_release()
self.destroy()

if __name__ == '__main__':
Expand Down
3 changes: 3 additions & 0 deletions Lib/idlelib/configSectionNameDialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,13 @@ def Ok(self, event=None):
name = self.name_ok()
if name:
self.result = name
self.grab_release()
self.destroy()
def Cancel(self, event=None):
self.result = ''
self.grab_release()
self.destroy()

if __name__ == '__main__':
import unittest
unittest.main('idlelib.idle_test.test_config_name', verbosity=2, exit=False)
Expand Down
2 changes: 2 additions & 0 deletions Lib/idlelib/idle_test/test_config_name.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ class Dummy_name_dialog(object):
name = Var()
result = None
destroyed = False
def grab_release(self):
pass
def destroy(self):
self.destroyed = True

Expand Down
2 changes: 2 additions & 0 deletions Lib/idlelib/keybindingDialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,10 +217,12 @@ def TranslateKey(self, key, modifiers):
def OK(self, event=None):
if self.advanced or self.KeysOK(): # doesn't check advanced string yet
self.result=self.keyString.get()
self.grab_release()
self.destroy()

def Cancel(self, event=None):
self.result=''
self.grab_release()
self.destroy()

def KeysOK(self):
Expand Down
5 changes: 4 additions & 1 deletion Lib/idlelib/textView.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ def __init__(self, parent, title, text, modal=True, _htest=False):
self.textView.insert(0.0, text)
self.textView.config(state=DISABLED)

if modal:
self.is_modal = modal
if self.is_modal:
self.transient(parent)
self.grab_set()
self.wait_window()
Expand All @@ -62,6 +63,8 @@ def CreateWidgets(self):
frameText.pack(side=TOP,expand=TRUE,fill=BOTH)

def Ok(self, event=None):
if self.is_modal:
self.grab_release()
self.destroy()


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fix unresponsiveness after closing certain windows and dialogs.