Merge with 3.2
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:
commit
935d5eb43f
|
@ -156,7 +156,8 @@ class IOBinding:
|
||||||
self.filename_change_hook()
|
self.filename_change_hook()
|
||||||
|
|
||||||
def open(self, event=None, editFile=None):
|
def open(self, event=None, editFile=None):
|
||||||
if self.editwin.flist:
|
flist = self.editwin.flist
|
||||||
|
if flist:
|
||||||
if not editFile:
|
if not editFile:
|
||||||
filename = self.askopenfile()
|
filename = self.askopenfile()
|
||||||
else:
|
else:
|
||||||
|
@ -167,16 +168,22 @@ class IOBinding:
|
||||||
# we open a new window. But we won't replace the
|
# we open a new window. But we won't replace the
|
||||||
# shell window (which has an interp(reter) attribute), which
|
# shell window (which has an interp(reter) attribute), which
|
||||||
# gets set to "not modified" at every new prompt.
|
# 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:
|
try:
|
||||||
interp = self.editwin.interp
|
interp = self.editwin.interp
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
interp = None
|
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:
|
else:
|
||||||
self.editwin.flist.open(filename)
|
flist.open(filename)
|
||||||
else:
|
else:
|
||||||
self.text.focus_set()
|
if self.text:
|
||||||
|
self.text.focus_set()
|
||||||
|
|
||||||
return "break"
|
return "break"
|
||||||
#
|
#
|
||||||
# Code for use outside IDLE:
|
# Code for use outside IDLE:
|
||||||
|
|
|
@ -1451,7 +1451,8 @@ def main():
|
||||||
if tkversionwarning:
|
if tkversionwarning:
|
||||||
shell.interp.runcommand(''.join(("print('", tkversionwarning, "')")))
|
shell.interp.runcommand(''.join(("print('", tkversionwarning, "')")))
|
||||||
|
|
||||||
root.mainloop()
|
while flist.inversedict: # keep IDLE running while files are open.
|
||||||
|
root.mainloop()
|
||||||
root.destroy()
|
root.destroy()
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
|
@ -46,6 +46,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #10365: File open dialog now works instead of crashing
|
||||||
|
even when parent window is closed. Patch by Roger Serwy.
|
||||||
|
|
||||||
- Issue #8739: Updated smtpd to support RFC 5321, and added support for the
|
- Issue #8739: Updated smtpd to support RFC 5321, and added support for the
|
||||||
RFC 1870 SIZE extension.
|
RFC 1870 SIZE extension.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue