This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2008年10月13日 22:57 by gregorlingl, last changed 2022年04月11日 14:56 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| ScrolledCanvas.__init__.diff | gregorlingl, 2008年10月13日 22:57 | bugfix | ||
| Messages (4) | |||
|---|---|---|---|
| msg74709 - (view) | Author: Gregor Lingl (gregorlingl) | Date: 2008年10月13日 22:57 | |
In ScrolledCanvas.__init__() there's a name conflict with a methodname of the parentclass Frame: _root. The bugfix consists in renaming this attribute, which occurs only twice. No change in behaviour at all. Regards, Gregor |
|||
| msg74720 - (view) | Author: Gregor Lingl (gregorlingl) | Date: 2008年10月14日 04:52 | |
This patch applies to Python 2.6 as well Gregor |
|||
| msg76021 - (view) | Author: Gregor Lingl (gregorlingl) | Date: 2008年11月18日 22:17 | |
I'd like to see this patch accepted and done for Python 2.6.1 and (at the same time) python 3.0 before the last rc is released. So could you dedicate a few minutes to reviewing it. To demonstrate the nature of this issue (and also the nuisance it could produce) I've constructed a minimal example to show the consequences of the bug: import turtle s = turtle.Screen() def changecolor(): s.bgcolor(1.0, 0.5) # needs 3 floats as arguments s.ontimer(changecolor, 1000) turtle.mainloop() This should create an error message like this: .... TurtleGraphicsError: bad color arguments: (100, 100) Instead it results in: Traceback (most recent call last): File "C:\_\provoke_error.py", line 11, in <module> turtle.mainloop() File "C:\Python26\lib\lib-tk\Tkinter.py", line 325, in mainloop _default_root.tk.mainloop(n) File "C:\Python26\lib\lib-tk\Tkinter.py", line 1414, in __call__ self.widget._report_exception() File "C:\Python26\lib\lib-tk\Tkinter.py", line 1175, in _report_exception root = self._root() AttributeError: _Root instance has no __call__ method because the _root() method defined in line 1105 of Tkinter.py is overwritten by the _root attribute of ScrolledCanvas (lines 362 and 382). So in these (hopefully rare) cases where an error message is directly provoked from the Tkinter module, this will fail letting the user without clue about what happened. With the proposed patch applied, the above script produces the correct error message. Regards, Gregor |
|||
| msg76042 - (view) | Author: Martin v. Löwis (loewis) * (Python committer) | Date: 2008年11月19日 09:15 | |
Thanks for the patch. Committed as r67279, r67280, and r67281. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:40 | admin | set | github: 48366 |
| 2008年11月19日 09:15:21 | loewis | set | status: open -> closed resolution: accepted messages: + msg76042 |
| 2008年11月18日 22:17:04 | gregorlingl | set | messages: + msg76021 |
| 2008年10月14日 04:52:06 | gregorlingl | set | messages:
+ msg74720 versions: + Python 2.6 |
| 2008年10月13日 22:57:07 | gregorlingl | create | |