Cure Issue 1586: Singularity crashes when adding classified adds on opensim grids (untested in SL)

Following as it is done upstream, no more requests on null ids.
This commit is contained in:
Inusaito Sayori
2014-07-09 16:45:40 -04:00
parent 8c40af5aee
commit deb7454cf7
2 changed files with 4 additions and 11 deletions

View File

@@ -488,7 +488,7 @@ void LLAvatarPropertiesProcessor::notifyObservers(const LLUUID& id,void* data, E
// only notify observers for the same agent, or if the observer
// didn't know the agent ID and passed a NULL id.
const LLUUID &agent_id = oi->first;
if (agent_id == id || (type == APT_CLASSIFIED_INFO && agent_id.isNull())) // Singu Note: Classifieds are the only ones registering null ids.
if (agent_id == id || agent_id.isNull())
{
oi->second->processProperties(data,type);
}

View File

@@ -211,14 +211,7 @@ LLPanelClassifiedInfo::LLPanelClassifiedInfo(bool in_finder, bool from_search)
LLPanelClassifiedInfo::~LLPanelClassifiedInfo()
{
if (mCreatorID.notNull())
{
LLAvatarPropertiesProcessor::getInstance()->removeObserver(mCreatorID, this);
}
else
{
LLAvatarPropertiesProcessor::getInstance()->removeObserver(LLUUID::null, this);
}
LLAvatarPropertiesProcessor::getInstance()->removeObserver(mCreatorID, this);
sAllPanels.remove(this);
}
@@ -330,7 +323,7 @@ void LLPanelClassifiedInfo::processProperties(void* data, EAvatarProcessorType t
LLAvatarClassifiedInfo* c_info = static_cast<LLAvatarClassifiedInfo*>(data);
if(c_info && mClassifiedID == c_info->classified_id)
{
LLAvatarPropertiesProcessor::getInstance()->removeObserver(LLUUID::null, this);
LLAvatarPropertiesProcessor::getInstance()->removeObserver(mCreatorID, this);
// "Location text" is actually the original
// name that owner gave the parcel, and the location.
@@ -563,7 +556,7 @@ void LLPanelClassifiedInfo::sendClassifiedInfoRequest()
{
if (mClassifiedID != mRequestedID)
{
LLAvatarPropertiesProcessor::getInstance()->addObserver(LLUUID::null, this);
LLAvatarPropertiesProcessor::getInstance()->addObserver(mCreatorID, this);
LLAvatarPropertiesProcessor::getInstance()->sendClassifiedInfoRequest(mClassifiedID);
mDataRequested = TRUE;