mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	[3.13] gh-128014: Fix passing default='' to the tkinter method wm_iconbitmap() (GH-128015) (GH-128418)
(cherry picked from commit 58e9f95c4a)
Co-authored-by: Zhikang Yan <2951256653@qq.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
			
			
This commit is contained in:
		
							parent
							
								
									cc5b03f89d
								
							
						
					
					
						commit
						24cddab4a2
					
				
					 3 changed files with 30 additions and 2 deletions
				
			
		|  | @ -4,7 +4,8 @@ | ||||||
| from tkinter import TclError | from tkinter import TclError | ||||||
| import enum | import enum | ||||||
| from test import support | from test import support | ||||||
| from test.test_tkinter.support import AbstractTkTest, AbstractDefaultRootTest, requires_tk | from test.test_tkinter.support import (AbstractTkTest, AbstractDefaultRootTest, | ||||||
|  |                                        requires_tk, get_tk_patchlevel) | ||||||
| 
 | 
 | ||||||
| support.requires('gui') | support.requires('gui') | ||||||
| 
 | 
 | ||||||
|  | @ -540,6 +541,31 @@ def test_wm_attribute(self): | ||||||
|         self.assertEqual(w.wm_attributes('alpha'), |         self.assertEqual(w.wm_attributes('alpha'), | ||||||
|                          1.0 if self.wantobjects else '1.0') |                          1.0 if self.wantobjects else '1.0') | ||||||
| 
 | 
 | ||||||
|  |     def test_wm_iconbitmap(self): | ||||||
|  |         t = tkinter.Toplevel(self.root) | ||||||
|  |         self.assertEqual(t.wm_iconbitmap(), '') | ||||||
|  |         t.wm_iconbitmap('hourglass') | ||||||
|  |         bug = False | ||||||
|  |         if t._windowingsystem == 'aqua': | ||||||
|  |             # Tk bug 13ac26b35dc55f7c37f70b39d59d7ef3e63017c8. | ||||||
|  |             patchlevel = get_tk_patchlevel(t) | ||||||
|  |             if patchlevel < (8, 6, 17) or (9, 0) <= patchlevel < (9, 0, 2): | ||||||
|  |                 bug = True | ||||||
|  |         if not bug: | ||||||
|  |             self.assertEqual(t.wm_iconbitmap(), 'hourglass') | ||||||
|  |         self.assertEqual(self.root.wm_iconbitmap(), '') | ||||||
|  |         t.wm_iconbitmap('') | ||||||
|  |         self.assertEqual(t.wm_iconbitmap(), '') | ||||||
|  | 
 | ||||||
|  |         if t._windowingsystem == 'win32': | ||||||
|  |             t.wm_iconbitmap(default='hourglass') | ||||||
|  |             self.assertEqual(t.wm_iconbitmap(), 'hourglass') | ||||||
|  |             self.assertEqual(self.root.wm_iconbitmap(), '') | ||||||
|  |             t.wm_iconbitmap(default='') | ||||||
|  |             self.assertEqual(t.wm_iconbitmap(), '') | ||||||
|  | 
 | ||||||
|  |         t.destroy() | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class EventTest(AbstractTkTest, unittest.TestCase): | class EventTest(AbstractTkTest, unittest.TestCase): | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -2263,7 +2263,7 @@ def wm_iconbitmap(self, bitmap=None, default=None): | ||||||
|         explicitly.  DEFAULT can be the relative path to a .ico file |         explicitly.  DEFAULT can be the relative path to a .ico file | ||||||
|         (example: root.iconbitmap(default='myicon.ico') ).  See Tk |         (example: root.iconbitmap(default='myicon.ico') ).  See Tk | ||||||
|         documentation for more information.""" |         documentation for more information.""" | ||||||
|         if default: |         if default is not None: | ||||||
|             return self.tk.call('wm', 'iconbitmap', self._w, '-default', default) |             return self.tk.call('wm', 'iconbitmap', self._w, '-default', default) | ||||||
|         else: |         else: | ||||||
|             return self.tk.call('wm', 'iconbitmap', self._w, bitmap) |             return self.tk.call('wm', 'iconbitmap', self._w, bitmap) | ||||||
|  |  | ||||||
|  | @ -0,0 +1,2 @@ | ||||||
|  | Fix resetting the default window icon by passing ``default=''`` to the | ||||||
|  | :mod:`tkinter` method :meth:`!wm_iconbitmap`. | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Miss Islington (bot)
						Miss Islington (bot)