diff --git a/backends/libpurple/main.cpp b/backends/libpurple/main.cpp index d1b1eb2180111ed307ea986a03071e468c267ca7..2d0256fc3cd29e8f4ed68b4df90579ca528d6e5e 100644 --- a/backends/libpurple/main.cpp +++ b/backends/libpurple/main.cpp @@ -710,14 +710,14 @@ class SpectrumNetworkPlugin : public NetworkPlugin { 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))) { + if ((disp = purple_connection_get_display_name(account->gc)) == NULL) { + disp = purple_account_get_username(account); + } + + if (nickname != disp) { handleRoomNicknameChanged(np->m_accounts[account], room, disp); np->handleParticipantChanged(np->m_accounts[account], nickname, room, 0, pbnetwork::STATUS_ONLINE, "", disp); } - else { - handleRoomNicknameChanged(np->m_accounts[account], room, purple_account_get_username(account)); - np->handleParticipantChanged(np->m_accounts[account], nickname, room, 0, pbnetwork::STATUS_ONLINE, "", purple_account_get_username(account)); - } } LOG4CXX_INFO(logger, user << ": Joining the room " << room);