[Pidgin] #383: Crash unsetting a per-account buddy icon

Pidgin trac at pidgin.im
Sat Apr 28 11:06:14 EDT 2007


#383: Crash unsetting a per-account buddy icon
---------------------------+------------------------------------------------
  Reporter:  nosnilmot     |       Owner:  seanegan
      Type:  defect        |      Status:  new     
  Priority:  blocker       |   Milestone:  2.0.0   
 Component:  pidgin (gtk)  |     Version:  2.0     
Resolution:                |    Keywords:          
---------------------------+------------------------------------------------
Changes (by sadrul):

  * owner:  => seanegan
  * priority:  minor => blocker

Comment:

 There is a duplication between "purple_account_set_buddy_icon_path" and
 "purple_account_set_string('buddy_icon')". I have made the former do the
 latter, so there's no duplication of the data, just how it's accessed.

 To make sure that account-icons are kept after migration, I look into the
 old icons location, and if possible, the icon is set to the account, which
 causes the icon to be stored in the new cache location. For this to work,
 ciphers need to be init-ed before accounts. I don't think that will break
 anything, since ciphers don't depend on anything else, but the account-
 icons do depend on ciphers.

 There is also a crash when removing an icon for an account. This happens
 because _unref-ing should return NULL if refcount reaches 0, and the
 return value should be respected.

 Also, purple_buddy_icons_set_account_path sets the 'buddy_icon' setting
 for the account, so doing a purple_account_set_buddy_icon_path immediately
 before/after that is redundant. This is related to the first paragraph
 here.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/383#comment:1>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list