Mercurial > pidgin.yaz
comparison libpurple/buddyicon.c @ 16879:a1858493abe2
Fix a reference counting bug.
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Fri, 04 May 2007 04:51:19 +0000 |
parents | 9862a82206ba |
children | a520e48dbfef |
comparison
equal
deleted
inserted
replaced
16878:680b5910933b | 16879:a1858493abe2 |
---|---|
277 PURPLE_DBUS_REGISTER_POINTER(icon, PurpleBuddyIcon); | 277 PURPLE_DBUS_REGISTER_POINTER(icon, PurpleBuddyIcon); |
278 | 278 |
279 icon->account = account; | 279 icon->account = account; |
280 icon->username = g_strdup(username); | 280 icon->username = g_strdup(username); |
281 icon->checksum = NULL; | 281 icon->checksum = NULL; |
282 icon->ref_count = 1; | |
282 | 283 |
283 icon_cache = g_hash_table_lookup(account_cache, account); | 284 icon_cache = g_hash_table_lookup(account_cache, account); |
284 | 285 |
285 if (icon_cache == NULL) | 286 if (icon_cache == NULL) |
286 { | 287 { |
651 if (read_icon_file(path, &data, &len)) | 652 if (read_icon_file(path, &data, &len)) |
652 { | 653 { |
653 const char *checksum; | 654 const char *checksum; |
654 | 655 |
655 icon = purple_buddy_icon_create(account, username); | 656 icon = purple_buddy_icon_create(account, username); |
656 icon->ref_count = 0; | |
657 icon->img = NULL; | 657 icon->img = NULL; |
658 checksum = purple_blist_node_get_string((PurpleBlistNode*)b, "icon_checksum"); | 658 checksum = purple_blist_node_get_string((PurpleBlistNode*)b, "icon_checksum"); |
659 purple_buddy_icon_set_data(icon, data, len, checksum); | 659 purple_buddy_icon_set_data(icon, data, len, checksum); |
660 } | 660 } |
661 g_free(path); | 661 g_free(path); |