]> granicus.if.org Git - python/commitdiff
Issue #24745: Prevent IDLE initialization crash with Tk 8.4; patch by Ned Deily.
authorTerry Jan Reedy <tjreedy@udel.edu>
Fri, 4 Sep 2015 08:37:56 +0000 (04:37 -0400)
committerTerry Jan Reedy <tjreedy@udel.edu>
Fri, 4 Sep 2015 08:37:56 +0000 (04:37 -0400)
Lib/idlelib/configHandler.py

index db3bcbc4387f4d8ba106b2f759ebeea52c2f4421..83abad7847c18e66fc75724eb1412585e4a99694 100644 (file)
@@ -22,6 +22,7 @@ import os
 import sys
 
 from configparser import ConfigParser
+from tkinter import TkVersion
 from tkinter.font import Font, nametofont
 
 class InvalidConfigType(Exception): pass
@@ -688,13 +689,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):