diff options
-rw-r--r-- | indra/newview/llfloaterpreference.cpp | 4 | ||||
-rw-r--r-- | indra/newview/llpanelclassified.cpp | 9 | ||||
-rw-r--r-- | indra/newview/llpanelclassified.h | 2 | ||||
-rw-r--r-- | indra/newview/llpanelprofileclassifieds.cpp | 7 |
4 files changed, 21 insertions, 1 deletions
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index e673752986..9c3dec6332 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -542,6 +542,10 @@ void LLFloaterPreference::onDoNotDisturbResponseChanged() LLFloaterPreference::~LLFloaterPreference() { LLConversationLog::instance().removeObserver(this); + if (LLAvatarPropertiesProcessor::instanceExists()) + { + LLAvatarPropertiesProcessor::getInstance()->removeObserver(gAgent.getID(), this); + } mComplexityChangedSignal.disconnect(); } diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp index 1faf241aaa..449a670de9 100644 --- a/indra/newview/llpanelclassified.cpp +++ b/indra/newview/llpanelclassified.cpp @@ -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); diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h index 266b9d222a..a429468a52 100644 --- a/indra/newview/llpanelclassified.h +++ b/indra/newview/llpanelclassified.h @@ -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; } diff --git a/indra/newview/llpanelprofileclassifieds.cpp b/indra/newview/llpanelprofileclassifieds.cpp index 62829b0745..3920dd82c8 100644 --- a/indra/newview/llpanelprofileclassifieds.cpp +++ b/indra/newview/llpanelprofileclassifieds.cpp @@ -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; |