mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
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:
parent
7d5f60185b
commit
27bedf8414
@ -577,9 +577,12 @@ void DistributedChatService::handleRecvChatLobbyList(RsChatLobbyListItem *item)
|
|||||||
}
|
}
|
||||||
|
|
||||||
RsIdentityDetails idd ;
|
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)
|
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;
|
std::cerr << "(EE) Attempt to auto-subscribe to signed lobby with non signed Id. Remove it." << std::endl;
|
||||||
setLobbyAutoSubscribe(*it, false);
|
setLobbyAutoSubscribe(*it, false);
|
||||||
@ -587,6 +590,7 @@ void DistributedChatService::handleRecvChatLobbyList(RsChatLobbyListItem *item)
|
|||||||
joinVisibleChatLobby(*it,gxsId);
|
joinVisibleChatLobby(*it,gxsId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for(std::list<ChatLobbyId>::const_iterator it = invitationNeeded.begin();it!=invitationNeeded.end();++it)
|
for(std::list<ChatLobbyId>::const_iterator it = invitationNeeded.begin();it!=invitationNeeded.end();++it)
|
||||||
invitePeerToLobby(*it,item->PeerId(),false) ;
|
invitePeerToLobby(*it,item->PeerId(),false) ;
|
||||||
|
Loading…
Reference in New Issue
Block a user