SwatPhonLab / UltraTrace

A Free/Open-Source tool for manual annotation of Ultrasound Tongue Imaging data.
GNU General Public License v3.0
10 stars 5 forks source link

Scrolling broken on certain versions of Python/OSX/Tcl #18

Closed mr-martian closed 5 years ago

mr-martian commented 5 years ago

Originally posted by @keggsmurph21 at 2018-03-05T22:27:44Z (original issue)

some combinations of installations of Python, operating system, and Tcl/Tk/ActiveState will cause binding events to crash the app

interpreter throws this error: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfe in position 0: invalid start byte

mr-martian commented 5 years ago

Originally posted by @keggsmurph21 at 2018-03-05T22:35:33Z

finally fixed this error .. it requires overwriting (at least) one line in the tkinter module for python

on my machine, the relevant file lives at /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter/__init__.py

in this file, you can find a variable called _subst_format defined on lines 1378-1380 that contains a tuple of percent encodings ... if you change %A -> %D, this fixes the problem (for me)

i've included a try-catch block to handle this error and instructions for fixing it if it does occur ... god help any users who require more support than this.

rumor has it that this bug is fixed in Tcl/Tk 8.6, but that doesn't bundle with python3.6, so you could try building it from source if you'd like, but this seemed like a (slightly) easier fix