[ python-Bugs-802310 ] tkFont may reuse font names
SourceForge.net
noreply at sourceforge.net
Sun Jun 3 07:16:46 CEST 2007
Bugs item #802310, was opened at 2003-09-08 00:52
Message generated for change (Comment added) made by lpd
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=802310&group_id=5470
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Tkinter
Group: None
Status: Open
Resolution: None
Priority: 3
Private: No
Submitted By: Fredrik Lundh (effbot)
Assigned to: Nobody/Anonymous (nobody)
Summary: tkFont may reuse font names
Initial Comment:
(sent to me instead of to the bug manager; note that
the tkFont naming approach is also used for widgets and
callbacks /F)
The class tkFont has a problem name it chooses if no
name is
given. The choosen method 'name = "font" + str(id
(self))' isn't safe
because the name may exists longer than the Font
object and so another
Font object may be created with a different font but the
same
id() and so the same name. id() says
Return the identity of an object. This is guaranteed
to be unique
among simultaneously existing objects.
^^^^^^^^^^^^^^^^^^^^^^^
Note that this bug doesn't strike if you hold a reference
to the Font
object and so the GC can't reclaim the space.
To reproduce run the attached program. It produces
something like:
previously: ('Times', 15, 'bold')
now: ('Times', 18, 'bold')
iterations: 8
mapping: {'font136494612': ('Times',
14, 'bold'), 'font136499772': ('Times',
15, 'bold'), 'font136545468': ('Times',
17, 'bold'), 'font136483156': ('Times',
11, 'bold'), 'font136502700': ('Times',
12, 'bold'), 'font136510460': ('Times',
13, 'bold'), 'font136515228': ('Times',
16, 'bold'), 'font136365348': ('Times', 10, 'bold')}
Traceback (most recent call last):
File "tkfont_bug.py", line 20, in ?
assert 0
AssertionError
Raimar
----------------------------------------------------------------------
Comment By: L. Peter Deutsch (lpd)
Date: 2007-06-02 22:16
Message:
Logged In: YES
user_id=8861
Originator: NO
This bug has bitten me too, in a real program.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=802310&group_id=5470
More information about the Python-bugs-list
mailing list