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);