Fix Lobby auto-subscribe.

Don't remove auto-subscribe if we cannot get gxsId detail.
But what happens if the id is removed?
This commit is contained in:
Phenom 2017-08-01 10:15:42 +02:00
parent 7d5f60185b
commit 27bedf8414

View File

@ -577,9 +577,12 @@ void DistributedChatService::handleRecvChatLobbyList(RsChatLobbyListItem *item)
}
RsIdentityDetails idd ;
if(!rsIdentity->getIdDetails(gxsId,idd))
std::cerr << "(EE) Lobby auto-subscribe: Can't get Id detail for:" << gxsId.toStdString().c_str() << std::endl;
else
{
if(IS_PGP_SIGNED_LOBBY(flags)
&& (!rsIdentity->getIdDetails(gxsId,idd)
|| !(idd.mFlags & RS_IDENTITY_FLAGS_PGP_LINKED)) )
&& !(idd.mFlags & RS_IDENTITY_FLAGS_PGP_LINKED) )
{
std::cerr << "(EE) Attempt to auto-subscribe to signed lobby with non signed Id. Remove it." << std::endl;
setLobbyAutoSubscribe(*it, false);
@ -587,6 +590,7 @@ void DistributedChatService::handleRecvChatLobbyList(RsChatLobbyListItem *item)
joinVisibleChatLobby(*it,gxsId);
}
}
}
for(std::list<ChatLobbyId>::const_iterator it = invitationNeeded.begin();it!=invitationNeeded.end();++it)
invitePeerToLobby(*it,item->PeerId(),false) ;