Changeset - 401deee43baa
[Not reviewed]
0 1 0
Vitaly Takmazov - 8 years ago 2017-11-06 18:54:27
vitalyster@gmail.com
libpurple: prefer purple_account_get_name_for_display over purple_connection_get_display_name
1 file changed with 12 insertions and 11 deletions:
0 comments (0 inline, 0 general)
backends/libpurple/main.cpp
Show inline comments
 
@@ -759,59 +759,60 @@ class SpectrumNetworkPlugin : public NetworkPlugin {
 

	
 
		void handleJoinRoomRequest(const std::string &user, const std::string &room, const std::string &nickname, const std::string &pasword) {
 
			PurpleAccount *account = m_sessions[user];
 
			if (!account) {
 
				return;
 
			}
 

	
 
			PurpleConnection *gc = purple_account_get_connection_wrapped(account);
 
			GHashTable *comps = NULL;
 
			std::string roomName = LegacyNameToName(account, room);
 
			// Check if the PurpleChat is not stored in buddy list
 
			PurpleChat *chat = purple_blist_find_chat_wrapped(account, roomName.c_str());
 
			if (chat) {
 
				comps = purple_chat_get_components_wrapped(chat);
 
			}
 
			else if (PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl)->chat_info_defaults != NULL) {
 
				if (CONFIG_STRING(config, "service.protocol") == "prpl-jabber") {
 
					comps = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl)->chat_info_defaults(gc, (roomName + "/" + nickname).c_str());
 
				} else {
 
					comps = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl)->chat_info_defaults(gc, roomName.c_str());
 
				}
 
			}
 

	
 
			if (CONFIG_STRING(config, "service.protocol") != "prpl-jabber") {
 
				np->handleParticipantChanged(np->m_accounts[account], nickname, room, 0, pbnetwork::STATUS_ONLINE);
 
				const char *disp;
 
				if ((disp = purple_connection_get_display_name(account->gc)) == NULL) {
 
					disp = purple_account_get_username(account);
 
				}
 

	
 
				LOG4CXX_INFO(logger, user << ": Display name is " << disp << ", nickname is " << nickname);
 
				if (nickname != disp) {
 
					handleRoomNicknameChanged(np->m_accounts[account], room, disp);
 
					np->handleParticipantChanged(np->m_accounts[account], nickname, room, 0, pbnetwork::STATUS_ONLINE, "", disp);
 
				}
 
                               np->handleParticipantChanged(np->m_accounts[account], nickname, room, 0, pbnetwork::STATUS_ONLINE);
 
                               const char *disp;
 
                               if ((disp = purple_account_get_name_for_display(account)) == NULL) {
 
                                       if ((disp = purple_connection_get_display_name(account->gc)) == NULL) {
 
                                               disp = purple_account_get_username(account);
 
                                       }
 
                               }
 
                               LOG4CXX_INFO(logger, user << ": Display name is " << disp << ", nickname is " << nickname);
 
                               if (nickname != disp) {
 
                                       handleRoomNicknameChanged(np->m_accounts[account], room, disp);
 
                                       np->handleParticipantChanged(np->m_accounts[account], nickname, room, 0, pbnetwork::STATUS_ONLINE, "", disp);
 
                               }
 
			}
 

	
 
			LOG4CXX_INFO(logger, user << ": Joining the room " << roomName);
 
			if (comps) {
 
				serv_join_chat_wrapped(gc, comps);
 
				g_hash_table_destroy(comps);
 
			}
 
		}
 

	
 
		void handleLeaveRoomRequest(const std::string &user, const std::string &room) {
 
			PurpleAccount *account = m_sessions[user];
 
			if (!account) {
 
				return;
 
			}
 

	
 
			PurpleConversation *conv = purple_find_conversation_with_account_wrapped(PURPLE_CONV_TYPE_CHAT, LegacyNameToName(account, room).c_str(), account);
 
			purple_conversation_destroy_wrapped(conv);
 
		}
 

	
 
		void handleFTStartRequest(const std::string &user, const std::string &buddyName, const std::string &fileName, unsigned long size, unsigned long ftID) {
 
			PurpleXfer *xfer = m_unhandledXfers[user + fileName + buddyName];
 
			if (xfer) {
 
				m_unhandledXfers.erase(user + fileName + buddyName);
 
				FTData *ftData = (FTData *) xfer->ui_data;
0 comments (0 inline, 0 general)