mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	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
							
								
									42f7b7ecb2
								
							
						
					
					
						commit
						eaa7e7825e
					
				
					 3 changed files with 17 additions and 6 deletions
				
			
		|  | @ -196,7 +196,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: | ||||
|  | @ -207,16 +208,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: | ||||
|                 self.text.focus_set() | ||||
|                 if self.text: | ||||
|                     self.text.focus_set() | ||||
|              | ||||
|             return "break" | ||||
|         # | ||||
|         # Code for use outside IDLE: | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Terry Jan Reedy
						Terry Jan Reedy