Changeset - 59236d962f23
[Not reviewed]
0 2 0
HanzZ - 14 years ago 2011-07-26 23:01:22
hanzz.k@gmail.com
Unref PurpleBuddyIcon -> another leak fixed
2 files changed with 5 insertions and 2 deletions:
0 comments (0 inline, 0 general)
backends/libpurple/main.cpp
Show inline comments
 
@@ -568,12 +568,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);
 
	}
 

	
 
	if (avatarHash) {
 
		// Check if it's patched libpurple which saves icons to directories
 
		char *hash = strrchr(avatarHash,'/');
 
		std::string h;
 
@@ -814,12 +815,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);
 
		}
 
	}
 

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

	
 
@@ -843,12 +845,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);
 
		}
 
	}
 

	
 
	
 
	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);
spectrum/src/sample.cfg
Show inline comments
 
@@ -10,14 +10,14 @@ admin_username=admin
 
admin_password=test
 
#cert= #patch to PKCS#12 certificate
 
#cert_password= #password to that certificate if any
 
users_per_backend=10
 
backend=../../backends/libpurple/spectrum_libpurple_backend
 
#backend=../../backends/libircclient-qt/spectrum_libircclient-qt_backend
 
#protocol=prpl-jabber
 
protocol=any
 
protocol=prpl-msn
 
#protocol=any
 
#protocol=prpl-icq
 

	
 
[backend]
 
default_avatar=catmelonhead.jpg
 

	
 
[logging]
0 comments (0 inline, 0 general)