Issue 6746: ValueError raised by IDLE during tooltip open on 64-bit Centos 5.3 (original) (raw)
Linux (Centos 5.3) 32-bit with Python 2.5.4
- Start an idle session.
- enter "help(" at the prompt
The open bracket triggers a traceback in the console:
Exception in Tkinter callback Traceback (most recent call last): File "/home/qatest/APyE/lib/python2.5/lib-tk/Tkinter.py", line 1414, in call return self.func(*args) File "/home/qatest/APyE/lib/python2.5/idlelib/MultiCall.py", line 151, in handler r = li File "/home/qatest/APyE/lib/python2.5/idlelib/CallTips.py", line 55, in try_open_calltip_event self.open_calltip(False) File "/home/qatest/APyE/lib/python2.5/idlelib/CallTips.py", line 79, in open_calltip self.calltip.showtip(arg_text, sur_paren[0], sur_paren[1]) File "/home/qatest/APyE/lib/python2.5/idlelib/CallTipWindow.py", line 66, in showtip self.position_window() File "/home/qatest/APyE/lib/python2.5/idlelib/CallTipWindow.py", line 35, in position_window self.parencol)) File "/home/qatest/APyE/lib/python2.5/lib-tk/Tkinter.py", line 2857, in bbox self.tk.call((self._w, 'bbox') + args)) or None File "/home/qatest/APyE/lib/python2.5/lib-tk/Tkinter.py", line 1030, in _getints return tuple(map(getint, self.tk.splitlist(string))) ValueError: invalid literal for int() with base 10: '(71,'
Upon closing the bracket, another exception is thrown:
Exception in Tkinter callback Traceback (most recent call last): File "/home/qatest/APy/lib/python2.5/lib-tk/Tkinter.py", line 1414, in call return self.func(*args) File "/home/qatest/APy/lib/python2.5/idlelib/MultiCall.py", line 151, in handler r = li File "/home/qatest/APy/lib/python2.5/idlelib/CallTips.py", line 55, in try_open_calltip_event self.open_calltip(False) File "/home/qatest/APy/lib/python2.5/idlelib/CallTips.py", line 65, in open_calltip self._remove_calltip_window() File "/home/qatest/APy/lib/python2.5/idlelib/CallTips.py", line 41, in _remove_calltip_window self.calltip.hidetip() File "/home/qatest/APy/lib/python2.5/idlelib/CallTipWindow.py", line 126, in hidetip self.label.destroy() AttributeError: 'NoneType' object has no attribute 'destroy' Exception in Tkinter callback Traceback (most recent call last): File "/home/qatest/APy/lib/python2.5/lib-tk/Tkinter.py", line 1414, in call return self.func(*args) File "/home/qatest/APy/lib/python2.5/idlelib/MultiCall.py", line 151, in handler r = li File "/home/qatest/APy/lib/python2.5/idlelib/CallTips.py", line 62, in refresh_calltip_event self.open_calltip(False) File "/home/qatest/APy/lib/python2.5/idlelib/CallTips.py", line 65, in open_calltip self._remove_calltip_window() File "/home/qatest/APy/lib/python2.5/idlelib/CallTips.py", line 41, in _remove_calltip_window self.calltip.hidetip() File "/home/qatest/APy/lib/python2.5/idlelib/CallTipWindow.py", line 126, in hidetip self.label.destroy() AttributeError: 'NoneType' object has no attribute 'destroy'
Tix version = 8.4.3 Tcl/Tk version = 8.5.7
This happens only on 64-bit (not 32-bit).
I can reproduce it here, unfortunately Tcl/Tk 8.5 isn't really supported by Python 2.5 and the changes required to get this fixed won't be backported. It was suggested backporting before and it was rejected.
Thank you for giving an update. Was it reported as a bug in this tracker? Do you know the bug number?
It was reported here, yes. I was able to find which talks about this, from what I remember it is r59653 which needed to be backported but wasn't. There was another issue where I pointed out the fixes that should be applied if someone wanted to use Tcl/Tk 8.5, with fewer issues, together with Python 2.5 but right now I don't remember on which issue I wrote this.