#3697 Crash on LLAvatarPropertiesProcessor::notifyObservers
parent
5ce0c5858c
commit
d5b72eb78d
|
|
@ -542,6 +542,10 @@ void LLFloaterPreference::onDoNotDisturbResponseChanged()
|
|||
LLFloaterPreference::~LLFloaterPreference()
|
||||
{
|
||||
LLConversationLog::instance().removeObserver(this);
|
||||
if (LLAvatarPropertiesProcessor::instanceExists())
|
||||
{
|
||||
LLAvatarPropertiesProcessor::getInstance()->removeObserver(gAgent.getID(), this);
|
||||
}
|
||||
mComplexityChangedSignal.disconnect();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -266,6 +266,15 @@ void LLPanelClassifiedInfo::processProperties(void* data, EAvatarProcessorType t
|
|||
}
|
||||
}
|
||||
|
||||
void LLPanelClassifiedInfo::setAvatarId(const LLUUID& avatar_id)
|
||||
{
|
||||
if (mAvatarId.notNull())
|
||||
{
|
||||
LLAvatarPropertiesProcessor::getInstance()->removeObserver(mAvatarId, this);
|
||||
}
|
||||
mAvatarId = avatar_id;
|
||||
}
|
||||
|
||||
void LLPanelClassifiedInfo::resetData()
|
||||
{
|
||||
setClassifiedName(LLStringUtil::null);
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ public:
|
|||
|
||||
/*virtual*/ void processProperties(void* data, EAvatarProcessorType type);
|
||||
|
||||
void setAvatarId(const LLUUID& avatar_id) { mAvatarId = avatar_id; }
|
||||
void setAvatarId(const LLUUID& avatar_id);
|
||||
|
||||
LLUUID& getAvatarId() { return mAvatarId; }
|
||||
|
||||
|
|
|
|||
|
|
@ -78,6 +78,13 @@ class LLClassifiedHandler : public LLCommandHandler, public LLAvatarPropertiesOb
|
|||
public:
|
||||
// throttle calls from untrusted browsers
|
||||
LLClassifiedHandler() : LLCommandHandler("classified", UNTRUSTED_THROTTLE) {}
|
||||
virtual ~LLClassifiedHandler()
|
||||
{
|
||||
if (LLAvatarPropertiesProcessor::instanceExists())
|
||||
{
|
||||
LLAvatarPropertiesProcessor::getInstance()->removeObserver(LLUUID(), this);
|
||||
}
|
||||
}
|
||||
|
||||
std::set<LLUUID> mClassifiedIds;
|
||||
std::string mRequestVerb;
|
||||
|
|
|
|||
Loading…
Reference in New Issue