[Python-checkins] cpython (3.5): Issue #24745: Prevent IDLE initialization crash with Tk 8.4:

ned.deily python-checkins at python.org
Mon Aug 10 05:25:16 CEST 2015


https://hg.python.org/cpython/rev/e39c4373b83f
changeset: 97350:e39c4373b83f
branch: 3.5
parent: 97348:aa527ee0d27f
user: Ned Deily <nad at acm.org>
date: Sun Aug 09 23:21:29 2015 -0400
summary:
 Issue #24745: Prevent IDLE initialization crash with Tk 8.4:
"TkFixedFont" does not exist in 8.4.
files:
 Lib/idlelib/configHandler.py | 18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/Lib/idlelib/configHandler.py b/Lib/idlelib/configHandler.py
--- a/Lib/idlelib/configHandler.py
+++ b/Lib/idlelib/configHandler.py
@@ -22,6 +22,7 @@
 import sys
 
 from configparser import ConfigParser
+from tkinter import TkVersion
 from tkinter.font import Font, nametofont
 
 class InvalidConfigType(Exception): pass
@@ -688,13 +689,16 @@
 bold = self.GetOption(configType, section, 'font-bold', default=0,
 type='bool')
 if (family == 'TkFixedFont'):
- f = Font(name='TkFixedFont', exists=True, root=root)
- actualFont = Font.actual(f)
- family = actualFont['family']
- size = actualFont['size']
- if size < 0:
- size = 10 # if font in pixels, ignore actual size
- bold = actualFont['weight']=='bold'
+ if TkVersion < 8.5:
+ family = 'Courier'
+ else:
+ f = Font(name='TkFixedFont', exists=True, root=root)
+ actualFont = Font.actual(f)
+ family = actualFont['family']
+ size = actualFont['size']
+ if size < 0:
+ size = 10 # if font in pixels, ignore actual size
+ bold = actualFont['weight']=='bold'
 return (family, size, 'bold' if bold else 'normal')
 
 def LoadCfgFiles(self):
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /