aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/purple/purple.c
diff options
context:
space:
mode:
authorMarius Halden <marius.h@lden.org>2016-07-20 18:32:36 +0200
committerMarius Halden <marius.h@lden.org>2016-07-20 18:32:36 +0200
commit5b620f5bb41ac322770e2c75c6a8155abe61780f (patch)
tree2c1f0350729510fb1b450417c09d7597ed71c945 /protocols/purple/purple.c
parent17875bf92ec951c552a0231fe0ee343858a82f14 (diff)
parent7f825def106ee45ae7f9c17474f31a1f33034c09 (diff)
Merge remote-tracking branch 'upstream/jgeboski/chatlist' into patched-master
Diffstat (limited to 'protocols/purple/purple.c')
-rw-r--r--protocols/purple/purple.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/protocols/purple/purple.c b/protocols/purple/purple.c
index 114fec82..4f10c9e7 100644
--- a/protocols/purple/purple.c
+++ b/protocols/purple/purple.c
@@ -768,7 +768,9 @@ void purple_chat_list(struct im_connection *ic, const char *server)
list = purple_roomlist_get_list(pd->account->gc);
- if (list == NULL) {
+ if (list) {
+ purple_roomlist_ref(list);
+ } else {
imcb_log(ic, "Room listing unsupported by this purple plugin");
}
}
@@ -1314,7 +1316,6 @@ static void prplcb_roomlist_create(PurpleRoomlist *list)
list->ui_data = rld = g_new0(struct purple_roomlist_data, 1);
rld->topic = -1;
- rld->userc = -1;
}
static void prplcb_roomlist_set_fields(PurpleRoomlist *list, GList *fields)
@@ -1339,10 +1340,6 @@ static void prplcb_roomlist_set_fields(PurpleRoomlist *list, GList *fields)
if (field->type == PURPLE_ROOMLIST_FIELD_STRING) {
rld->topic = i;
}
- } else if (g_strcasecmp(field->name, "users") == 0) {
- if (field->type == PURPLE_ROOMLIST_FIELD_INT) {
- rld->userc = i;
- }
}
}
@@ -1357,7 +1354,6 @@ static void prplcb_roomlist_add_room(PurpleRoomlist *list, PurpleRoomlistRoom *r
const char *title;
const char *topic;
GList *fields;
- gpointer data;
struct purple_roomlist_data *rld = list->ui_data;
fields = purple_roomlist_room_get_fields(room);
@@ -1373,13 +1369,6 @@ static void prplcb_roomlist_add_room(PurpleRoomlist *list, PurpleRoomlistRoom *r
ci->title = g_strdup(title);
ci->topic = g_strdup(topic);
rld->chats = g_slist_prepend(rld->chats, ci);
-
- if (rld->userc >= 0) {
- data = g_list_nth_data(fields, rld->userc);
- ci->userc = GPOINTER_TO_INT(data);
- } else {
- ci->userc = -1;
- }
}
static void prplcb_roomlist_in_progress(PurpleRoomlist *list, gboolean in_progress)
@@ -1403,7 +1392,6 @@ static void prplcb_roomlist_in_progress(PurpleRoomlist *list, gboolean in_progre
static void prplcb_roomlist_destroy(PurpleRoomlist *list)
{
- /* bee_chat_list_finish() frees rld->chats */
g_free(list->ui_data);
list->ui_data = NULL;
}