Skip to content

Commit

Permalink
Don't discard user display names upon leave membership events
Browse files Browse the repository at this point in the history
Otherwise the following QJsonObject will discard a valid display name in
RoomMemberEvent::fromJson():

QJsonObject({"content":{"membership":"leave"},"event_id":"$14905359301189950PoADM:matrix.org","membership":"leave","origin_server_ts":1490535930821,"sender":"@elvisangelaccio:matrix.org","state_key":"@elvisangelaccio:matrix.org","type":"m.room.member","unsigned":{"age":1887090448,"prev_content":{"avatar_url":"mxc://matrix.org/PuDxgBQfeplXbCQFvOGpTEmC","displayname":"eang","membership":"join"},"prev_sender":"@elvisangelaccio:matrix.org","replaces_state":"$14905358091189487gXwtE:matrix.org"}})
  • Loading branch information
elvisangelaccio committed Apr 17, 2017
1 parent 1f38a99 commit 836f35d
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion user.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ void User::processEvent(Event* event)
if( event->type() == EventType::RoomMember )
{
RoomMemberEvent* e = static_cast<RoomMemberEvent*>(event);
if( d->name != e->displayName() )
if( d->name != e->displayName() && e->membership() != MembershipType::Leave)
{
const auto oldName = d->name;
d->name = e->displayName();
Expand Down

0 comments on commit 836f35d

Please sign in to comment.