--- a/libpurple/conversationtypes.c Tue Mar 18 12:20:55 2014 +0100
+++ b/libpurple/conversationtypes.c Tue Mar 18 13:11:04 2014 +0100
@@ -620,6 +620,16 @@
+purple_chat_conversation_get_users_count(const PurpleChatConversation *chat) + PurpleChatConversationPrivate *priv = PURPLE_CHAT_CONVERSATION_GET_PRIVATE(chat); + g_return_val_if_fail(priv != NULL, 0); + return g_hash_table_size(priv->users); purple_chat_conversation_ignore(PurpleChatConversation *chat, const char *name)
--- a/libpurple/conversationtypes.h Tue Mar 18 12:20:55 2014 +0100
+++ b/libpurple/conversationtypes.h Tue Mar 18 13:11:04 2014 +0100
@@ -385,6 +385,17 @@
GList *purple_chat_conversation_get_users(const PurpleChatConversation *chat);
+ * purple_chat_conversation_get_users_count: + * Returns count of users in the chat room. + * Returns: The count of users in the chat room. +purple_chat_conversation_get_users_count(const PurpleChatConversation *chat); * purple_chat_conversation_ignore:
* @name: The name of the user.
--- a/libpurple/plugins/joinpart.c Tue Mar 18 12:20:55 2014 +0100
+++ b/libpurple/plugins/joinpart.c Tue Mar 18 13:11:04 2014 +0100
@@ -90,7 +90,7 @@
/* If the room is small, don't bother. */
chat = PURPLE_CHAT_CONVERSATION(conv);
threshold = purple_prefs_get_int(THRESHOLD_PREF);
- if (g_list_length(purple_chat_conversation_get_users(chat)) < threshold)
+ if (purple_chat_conversation_get_users_count(chat) < threshold) if (!purple_prefs_get_bool(HIDE_BUDDIES_PREF) &&
--- a/pidgin/gtkblist.c Tue Mar 18 12:20:55 2014 +0100
+++ b/pidgin/gtkblist.c Tue Mar 18 13:11:04 2014 +0100
@@ -3841,7 +3841,7 @@
if (conv && !purple_chat_conversation_has_left(conv)) {
g_string_append_printf(str, _("\n<b>Occupants:</b> %d"),
- g_list_length(purple_chat_conversation_get_users(conv)));
+ purple_chat_conversation_get_users_count(conv)); if (prpl_info && (prpl_info->options & OPT_PROTO_CHAT_TOPIC)) {
const char *chattopic = purple_chat_conversation_get_topic(conv);
--- a/pidgin/gtkconv.c Tue Mar 18 12:20:55 2014 +0100
+++ b/pidgin/gtkconv.c Tue Mar 18 13:11:04 2014 +0100
@@ -7028,7 +7028,7 @@
gtkconv = PIDGIN_CONVERSATION(PURPLE_CONVERSATION(chat));
gtkchat = gtkconv->u.chat;
- num_users = g_list_length(purple_chat_conversation_get_users(chat));
+ num_users = purple_chat_conversation_get_users_count(chat); g_snprintf(tmp, sizeof(tmp),
ngettext("%d person in room", "%d people in room",
@@ -7114,7 +7114,7 @@
gtkconv = PIDGIN_CONVERSATION(PURPLE_CONVERSATION(chat));
gtkchat = gtkconv->u.chat;
- num_users = g_list_length(purple_chat_conversation_get_users(chat));
+ num_users = purple_chat_conversation_get_users_count(chat); for (l = users; l != NULL; l = l->next) {
model = gtk_tree_view_get_model(GTK_TREE_VIEW(gtkchat->list));