Changeset - 1209b439451e
[Not reviewed]
0 1 0
Vitaly Takmazov - 7 years ago 2018-07-03 11:44:09
vitalyster@gmail.com
libpurple: prefer serialized room name as room id

* should fix room join problems with multiple third-party purple plugins
1 file changed with 7 insertions and 1 deletions:
0 comments (0 inline, 0 general)
backends/libpurple/main.cpp
Show inline comments
 
@@ -1947,9 +1947,15 @@ static void RoomlistProgress(PurpleRoomlist *list, gboolean in_progress)
 

	
 
		GList *rooms;
 
		std::list<std::string> m_topics;
 
		PurplePlugin *plugin = purple_find_prpl_wrapped(purple_account_get_protocol_id_wrapped(list->account));
 
		PurplePluginProtocolInfo *prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(plugin);
 
		for (rooms = list->rooms; rooms != NULL; rooms = rooms->next) {
 
			PurpleRoomlistRoom *room = (PurpleRoomlistRoom *)rooms->data;
 
			np->m_rooms[np->m_accounts[list->account]].push_back(room->name);
 
			if (room->type == PURPLE_ROOMLIST_ROOMTYPE_CATEGORY) continue;
 
			std::string roomId = prpl_info && prpl_info->roomlist_room_serialize ?
 
				prpl_info->roomlist_room_serialize(room)
 
				: room->name;
 
			np->m_rooms[np->m_accounts[list->account]].push_back(roomId);
 

	
 
			if (topicId == -1) {
 
				m_topics.push_back(room->name);
0 comments (0 inline, 0 general)