]> 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:02 +0000 (04:37 -0400)
committerTerry Jan Reedy <tjreedy@udel.edu>
Fri, 4 Sep 2015 08:37:02 +0000 (04:37 -0400)
Lib/idlelib/configHandler.py

index c9ec9c32d5d5f6657d7afa4431b33c6cdd908cf2..899e50a978b5171f858ae11730c0b8c75a411eb3 100644 (file)
@@ -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):