mirror of https://github.com/python/cpython.git
Issue #10365: File open dialog now works instead of crashing
even when parent window is closed. Patch by Roger Serwy.
This commit is contained in:
parent
809309a482
commit
cd6b8c67ce
|
@ -156,7 +156,8 @@ def set_filename(self, filename):
|
|||
self.filename_change_hook()
|
||||
|
||||
def open(self, event=None, editFile=None):
|
||||
if self.editwin.flist:
|
||||
flist = self.editwin.flist
|
||||
if flist:
|
||||
if not editFile:
|
||||
filename = self.askopenfile()
|
||||
else:
|
||||
|
@ -167,16 +168,22 @@ def open(self, event=None, editFile=None):
|
|||
# we open a new window. But we won't replace the
|
||||
# shell window (which has an interp(reter) attribute), which
|
||||
# gets set to "not modified" at every new prompt.
|
||||
# Also, make sure the current window has not been closed,
|
||||
# since it can be closed during the Open File dialog.
|
||||
try:
|
||||
interp = self.editwin.interp
|
||||
except AttributeError:
|
||||
interp = None
|
||||
if not self.filename and self.get_saved() and not interp:
|
||||
self.editwin.flist.open(filename, self.loadfile)
|
||||
|
||||
if self.editwin and not self.filename and \
|
||||
self.get_saved() and not interp:
|
||||
flist.open(filename, self.loadfile)
|
||||
else:
|
||||
self.editwin.flist.open(filename)
|
||||
flist.open(filename)
|
||||
else:
|
||||
if self.text:
|
||||
self.text.focus_set()
|
||||
|
||||
return "break"
|
||||
#
|
||||
# Code for use outside IDLE:
|
||||
|
|
|
@ -1435,6 +1435,7 @@ def main():
|
|||
if tkversionwarning:
|
||||
shell.interp.runcommand(''.join(("print('", tkversionwarning, "')")))
|
||||
|
||||
while flist.inversedict: # keep IDLE running while files are open.
|
||||
root.mainloop()
|
||||
root.destroy()
|
||||
|
||||
|
|
|
@ -67,6 +67,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #10365: File open dialog now works instead of crashing
|
||||
even when parent window is closed. Patch by Roger Serwy.
|
||||
|
||||
- Issue #14876: Use user-selected font for highlight configuration.
|
||||
|
||||
- Issue #14920: Fix the help(urllib.parse) failure on locale C on terminals.
|
||||
|
|
Loading…
Reference in New Issue