Crash fix in LLGroupMgr::notifyObservers(), found by Kitty Barnett

meow-7.2.2
Ansariel 2016-02-15 09:20:33 +01:00
parent 137269f5b0
commit 1b51f2bdf2
2 changed files with 8 additions and 3 deletions

View File

@ -393,7 +393,10 @@ LLGroupNoticeNotificationListItem::LLGroupNoticeNotificationListItem(const Param
buildFromFile("panel_notification_list_item.xml");
}
LLGroupNoticeNotificationListItem::~LLGroupNoticeNotificationListItem()
// <FS:Ansariel> Crash fix in LLGroupMgr::notifyObservers()
//LLGroupNoticeNotificationListItem::~LLGroupNoticeNotificationListItem()
LLGroupNotificationListItem::~LLGroupNotificationListItem()
// </FS:Ansariel>
{
LLGroupMgr::getInstance()->removeObserver(this);
}
@ -584,7 +587,8 @@ void LLGroupNoticeNotificationListItem::close()
mInventoryOffer->forceResponse(IOR_DECLINE);
mInventoryOffer = NULL;
}
LLGroupMgr::getInstance()->removeObserver(this);
// <FS:Ansariel> Crash fix in LLGroupMgr::notifyObservers()
//LLGroupMgr::getInstance()->removeObserver(this);
}
void LLGroupNoticeNotificationListItem::onClickAttachment()

View File

@ -140,6 +140,7 @@ class LLGroupNotificationListItem
: public LLNotificationListItem, public LLGroupMgrObserver
{
public:
virtual ~LLGroupNotificationListItem(); // <FS:Ansariel> Crash fix in LLGroupMgr::notifyObservers()
virtual BOOL postBuild();
void setGroupId(const LLUUID& value);
@ -201,7 +202,7 @@ class LLGroupNoticeNotificationListItem
: public LLGroupNotificationListItem
{
public:
~LLGroupNoticeNotificationListItem();
//~LLGroupNoticeNotificationListItem(); // <FS:Ansariel> Crash fix in LLGroupMgr::notifyObservers()
static std::set<std::string> getTypes();
virtual BOOL postBuild();