Adium

Opened 13 years ago

Closed 12 years ago

#6587 closed defect (cantreproduce)

Deleting the contact list font borks the contact list

Reported by: bdesham Owned by: nobody
Milestone: Adium 1.3 Component: Adium UI
Version: Severity: minor
Keywords: delete font running Cc: bdesham@…
Patch Status:

Description

This bug occurs when the user deletes the font being used for the contact list text (an unlikely occurrence, I know). I have experienced this bug twice now, so I believe it to be fully reproducible. Attached is a screenshot of this effect; the image on the left shows my contact list shortly after I delete the font, and the image on the right shows the list after I press Command-/ twice to hide and show the contact list.

Expected behavior would be for Adium to do a "sanity check" to periodically make sure that the font exists. It would probably be overkill (and resource-intensive) to do this every time the contact list is updated, but checking when the window is closed and reopened seems reasonable.

Attachments (1)

screenshot.png (16.8 KB) - added by Benjamin Esham 13 years ago.
screenshot of the bug in action

Download all attachments as: .zip

Change History (7)

Changed 13 years ago by Benjamin Esham

Attachment: screenshot.png added

screenshot of the bug in action

comment:1 Changed 13 years ago by Benjamin Esham

Cc: bdesham@… added
priority: normallow
Severity: normalminor

comment:2 Changed 13 years ago by Evan Schoenberg

Patch Status: None

Adium does verify fonts which are requested actually exist and are valid when they are first used in a given Adium session. If the font was set for the contact list but deleted while Adium was not running, a later Adium session would do just fine (falling back on a known system font).

However, once a font is loaded, the same instance is used for the rest of the session. -[NSFont fontWithName] leaks memory according to a comment in AIFontAdditions, which is why we use -[NSFont(AIFontAdditions) cachedFontWithName:size:]. Unfortunately, this means that we don't get later validity checking on fonts, and it would be expensive to monitor the fonts directories or the like.

It would be worth checking whether it is still true as of 10.4.x that -[NSFont fontWithName:] leaks memory.

comment:3 Changed 13 years ago by Peter Hosey

Yeah, cachedFontWithName:size: is really old—I think Jaguar was the newest OS back when I wrote it.

comment:4 Changed 13 years ago by Jordan

Keywords: delete font running added
Milestone: Needs dev review
Version: 1.0.2

comment:5 Changed 12 years ago by Jordan

Milestone: Needs dev reviewAdium X 1.3
pending: 0

Now that 1.1 is tiger only, if -[NSFont fontWithName:] no longer leaks memory in Tiger and Leopard, then we can switch it to that and absolve this problem...

comment:6 Changed 12 years ago by Jordan

Resolution: worksforme
Status: newclosed

I can not reproduce this with 1.3svn [23418] on OS X 10.5.2

Steps I followed:

  1. Deleted the font in Font Book
  2. Clicked on a contact in the list
  3. Pinwheeled for a second, then the font reverted to Lucida Grande

Although the font picker still said it was using the deleted font, there were no crashes or font-related problems as a result of deleting the font, so I'm deeming this worksforme.

Note: See TracTickets for help on using tickets.