MAINT-2361 FIXED One and the same user shown in Allowed and in Banned Residents lists

meow-7.2.2
andreykproductengine 2014-04-23 19:47:19 +03:00
parent 331663458f
commit b1cffda8f3
2 changed files with 18 additions and 10 deletions

View File

@ -793,8 +793,6 @@ BOOL LLParcel::addToAccessList(const LLUUID& agent_id, S32 time)
}
}
removeFromBanList(agent_id);
LLAccessEntry new_entry;
new_entry.mID = agent_id;
new_entry.mTime = time;
@ -838,8 +836,6 @@ BOOL LLParcel::addToBanList(const LLUUID& agent_id, S32 time)
}
}
removeFromAccessList(agent_id);
LLAccessEntry new_entry;
new_entry.mID = agent_id;
new_entry.mTime = time;

View File

@ -2776,10 +2776,16 @@ void LLPanelLandAccess::callbackAvatarCBAccess(const uuid_vec_t& ids)
{
LLUUID id = ids[0];
LLParcel* parcel = mParcel->getParcel();
if (parcel)
if (parcel && parcel->addToAccessList(id, 0))
{
parcel->addToAccessList(id, 0);
LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(AL_ACCESS);
U32 lists_to_update = AL_ACCESS;
// agent was successfully added to access list
// but we also need to check ban list to ensure that agent will not be in two lists simultaneously
if(parcel->removeFromBanList(id))
{
lists_to_update |= AL_BAN;
}
LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(lists_to_update);
refresh();
}
}
@ -2828,10 +2834,16 @@ void LLPanelLandAccess::callbackAvatarCBBanned(const uuid_vec_t& ids)
{
LLUUID id = ids[0];
LLParcel* parcel = mParcel->getParcel();
if (parcel)
if (parcel && parcel->addToBanList(id, 0))
{
parcel->addToBanList(id, 0);
LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(AL_BAN);
U32 lists_to_update = AL_BAN;
// agent was successfully added to ban list
// but we also need to check access list to ensure that agent will not be in two lists simultaneously
if (parcel->removeFromAccessList(id))
{
lists_to_update |= AL_ACCESS;
}
LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(lists_to_update);
refresh();
}
}