diff options
author | Terry Jan Reedy <tjreedy@udel.edu> | 2015-09-04 08:37:02 (GMT) |
---|---|---|
committer | Terry Jan Reedy <tjreedy@udel.edu> | 2015-09-04 08:37:02 (GMT) |
commit | 99c1a6d5f1b83c51abb5205d3ded3db841ae4fe6 (patch) | |
tree | ccddf37e5dc666cfc638be1bf9769ee4ebc227b6 | |
parent | eb49ccfdb78152e817138ae2ec35bf427576df51 (diff) | |
download | cpython-99c1a6d5f1b83c51abb5205d3ded3db841ae4fe6.zip cpython-99c1a6d5f1b83c51abb5205d3ded3db841ae4fe6.tar.gz cpython-99c1a6d5f1b83c51abb5205d3ded3db841ae4fe6.tar.bz2 |
Issue #24745: Prevent IDLE initialization crash with Tk 8.4; patch by Ned Deily.
-rw-r--r-- | Lib/idlelib/configHandler.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/Lib/idlelib/configHandler.py b/Lib/idlelib/configHandler.py index c9ec9c3..899e50a 100644 --- a/Lib/idlelib/configHandler.py +++ b/Lib/idlelib/configHandler.py @@ -23,6 +23,7 @@ import os import sys from ConfigParser import ConfigParser +from Tkinter import TkVersion from tkFont import Font, nametofont class InvalidConfigType(Exception): pass @@ -689,13 +690,16 @@ class IdleConf: 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): |