Changeset - 88f6ecb38291
[Not reviewed]
0 1 0
HanzZ - 14 years ago 2011-07-31 09:19:47
hanzz.k@gmail.com
remove buddy icon unrefing, just to test if it's the reason why libpurple crashes
1 file changed with 4 insertions and 4 deletions:
0 comments (0 inline, 0 general)
backends/libpurple/main.cpp
Show inline comments
 
@@ -581,13 +581,13 @@ static bool getStatus(PurpleBuddy *m_buddy, Swift::StatusShow &status, std::stri
 

	
 
static std::string getIconHash(PurpleBuddy *m_buddy) {
 
	char *avatarHash = NULL;
 
	PurpleBuddyIcon *icon = purple_buddy_icons_find(purple_buddy_get_account(m_buddy), purple_buddy_get_name(m_buddy));
 
	if (icon) {
 
		avatarHash = purple_buddy_icon_get_full_path(icon);
 
		purple_buddy_icon_unref(icon);
 
// 		purple_buddy_icon_unref(icon);
 
	}
 

	
 
	if (avatarHash) {
 
		// Check if it's patched libpurple which saves icons to directories
 
		char *hash = strrchr(avatarHash,'/');
 
		std::string h;
 
@@ -611,13 +611,13 @@ static std::string getIconHash(PurpleBuddy *m_buddy) {
 

	
 
	return "";
 
}
 

	
 
static std::vector<std::string> getGroups(PurpleBuddy *m_buddy) {
 
	std::vector<std::string> groups;
 
	groups.push_back(purple_group_get_name(purple_buddy_get_group(m_buddy)) ? std::string(purple_group_get_name(purple_buddy_get_group(m_buddy))) : std::string("Buddies"));
 
	groups.push_back((purple_buddy_get_group(m_buddy) && purple_group_get_name(purple_buddy_get_group(m_buddy))) ? std::string(purple_group_get_name(purple_buddy_get_group(m_buddy))) : std::string("Buddies"));
 
	return groups;
 
}
 

	
 
static void buddyListNewNode(PurpleBlistNode *node) {
 
	if (!PURPLE_BLIST_NODE_IS_BUDDY(node))
 
		return;
 
@@ -829,13 +829,13 @@ static void *notify_user_info(PurpleConnection *gc, const char *who, PurpleNotif
 
		if (avatar) {
 
			const gchar * data = (const gchar *) purple_imgstore_get_data(avatar);
 
			size_t len = purple_imgstore_get_size(avatar);
 
			if (len < 300000 && data) {
 
				photo = Swift::createByteArray(data, len);
 
			}
 
			purple_imgstore_unref(avatar);
 
// 			purple_imgstore_unref(avatar);
 
		}
 
	}
 

	
 
	if ((!firstName.empty() || !lastName.empty()) && fullName.empty())
 
		fullName = firstName + " " + lastName;
 

	
 
@@ -859,13 +859,13 @@ static void *notify_user_info(PurpleConnection *gc, const char *who, PurpleNotif
 
// 							extension = "jpeg";
 
// 						}
 
// 						photo->addChild( new Tag("TYPE", "image/" + extension) );
 
// 					}
 
// 				}
 
			}
 
			purple_buddy_icon_unref(icon);
 
// 			purple_buddy_icon_unref(icon);
 
		}
 
	}
 

	
 
	
 
	np->handleVCard(np->m_accounts[account], np->m_vcards[np->m_accounts[account] + name], name, fullName, nickname, Swift::byteArrayToString(photo));
 
	np->m_vcards.erase(np->m_accounts[account] + name);
0 comments (0 inline, 0 general)