From fcb17bc5713434b427e3dc73ad5cf6ab5c909d9f Mon Sep 17 00:00:00 2001 From: HanzZ Date: Tue, 19 Jul 2011 23:50:33 +0200 Subject: [PATCH] avatars_directory --- backends/libpurple/main.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/backends/libpurple/main.cpp b/backends/libpurple/main.cpp index 73938292..5ee59372 100644 --- a/backends/libpurple/main.cpp +++ b/backends/libpurple/main.cpp @@ -181,15 +181,21 @@ class SpectrumNetworkPlugin : public NetworkPlugin { m_sessions[user] = account; // Default avatar - if (!CONFIG_STRING(config, "backend.default_avatar").empty()) { - char* contents; - gsize length; + char* contents; + gsize length; + gboolean ret; + if (!CONFIG_STRING(config, "backend.avatars_directory").empty()) { + std::string f = CONFIG_STRING(config, "backend.avatars_directory") + "/" + legacyName; + ret = g_file_get_contents (f.c_str(), &contents, &length, NULL); + } - gboolean ret = g_file_get_contents (CONFIG_STRING(config, "backend.default_avatar").c_str(), - &contents, &length, NULL); - if (ret) { - purple_buddy_icons_set_account_icon(account, (guchar *) contents, length); - } + if (!CONFIG_STRING(config, "backend.default_avatar").empty() && !ret) { + ret = g_file_get_contents (CONFIG_STRING(config, "backend.default_avatar").c_str(), + &contents, &length, NULL); + } + + if (ret) { + purple_buddy_icons_set_account_icon(account, (guchar *) contents, length); } purple_account_set_password(account, password.c_str());