diff options
| author | AndreyL ProductEngine <alihatskiy@productengine.com> | 2016-02-18 23:19:51 +0200 | 
|---|---|---|
| committer | AndreyL ProductEngine <alihatskiy@productengine.com> | 2016-02-18 23:19:51 +0200 | 
| commit | f62971a4f0f5882735ec50374e5821f7a2004363 (patch) | |
| tree | 24412ee10c41ea36294b277f352d683833870669 | |
| parent | 8920beabc4b01dfdbd8eb3bbe33deefe03896f7d (diff) | |
| parent | ade46cfee04b21cbe88ab64f148e0087ef0a74c6 (diff) | |
Merged bunch of crashfixes from Kitty
| -rw-r--r-- | indra/newview/llnotificationlistitem.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llnotificationlistitem.h | 2 | ||||
| -rw-r--r-- | indra/newview/llpanelgroupexperiences.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/llpreviewtexture.cpp | 8 | ||||
| -rwxr-xr-x | indra/newview/lltoolmgr.cpp | 3 | ||||
| -rwxr-xr-x | indra/newview/llvovolume.cpp | 4 | 
6 files changed, 15 insertions, 7 deletions
| diff --git a/indra/newview/llnotificationlistitem.cpp b/indra/newview/llnotificationlistitem.cpp index 8cdc2d7c0b..cbcf9cac9c 100644 --- a/indra/newview/llnotificationlistitem.cpp +++ b/indra/newview/llnotificationlistitem.cpp @@ -381,7 +381,7 @@ LLGroupNoticeNotificationListItem::LLGroupNoticeNotificationListItem(const Param      buildFromFile("panel_notification_list_item.xml");  } -LLGroupNoticeNotificationListItem::~LLGroupNoticeNotificationListItem() +LLGroupNotificationListItem::~LLGroupNotificationListItem()  {  	LLGroupMgr::getInstance()->removeObserver(this);  } @@ -539,7 +539,6 @@ void LLGroupNoticeNotificationListItem::close()          mInventoryOffer->forceResponse(IOR_DECLINE);          mInventoryOffer = NULL;      } -    LLGroupMgr::getInstance()->removeObserver(this);  }  void LLGroupNoticeNotificationListItem::onClickAttachment() diff --git a/indra/newview/llnotificationlistitem.h b/indra/newview/llnotificationlistitem.h index 9a4ce2be4b..3dd52986b0 100644 --- a/indra/newview/llnotificationlistitem.h +++ b/indra/newview/llnotificationlistitem.h @@ -136,6 +136,7 @@ class LLGroupNotificationListItem      : public LLNotificationListItem, public LLGroupMgrObserver  {  public: +	virtual ~LLGroupNotificationListItem();      virtual BOOL postBuild();      void setGroupId(const LLUUID& value); @@ -192,7 +193,6 @@ class LLGroupNoticeNotificationListItem      : public LLGroupNotificationListItem  {  public: -	~LLGroupNoticeNotificationListItem();      static std::set<std::string> getTypes();      virtual BOOL postBuild(); diff --git a/indra/newview/llpanelgroupexperiences.cpp b/indra/newview/llpanelgroupexperiences.cpp index 76b68122fb..2d7690895f 100644 --- a/indra/newview/llpanelgroupexperiences.cpp +++ b/indra/newview/llpanelgroupexperiences.cpp @@ -102,7 +102,7 @@ void LLPanelGroupExperiences::activate()  	}  	// search for experiences owned by the current group -	std::string url = gAgent.getRegion()->getCapability("GroupExperiences");  +	std::string url = (gAgent.getRegion()) ? gAgent.getRegion()->getCapability("GroupExperiences") : LLStringUtil::null;  	if (!url.empty())  	{  		url += "?" + getGroupID().asString(); diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp index c8cf0faa15..2a2c51be40 100755 --- a/indra/newview/llpreviewtexture.cpp +++ b/indra/newview/llpreviewtexture.cpp @@ -89,8 +89,12 @@ LLPreviewTexture::~LLPreviewTexture()  	{  		getWindow()->decBusyCount();  	} -	mImage->setBoostLevel(mImageOldBoostLevel); -	mImage = NULL; + +	if (mImage.notNull()) +	{ +		mImage->setBoostLevel(mImageOldBoostLevel); +		mImage = NULL; +	}  }  // virtual diff --git a/indra/newview/lltoolmgr.cpp b/indra/newview/lltoolmgr.cpp index 3ecb4015ce..2f8e464b71 100755 --- a/indra/newview/lltoolmgr.cpp +++ b/indra/newview/lltoolmgr.cpp @@ -400,6 +400,9 @@ void LLToolMgr::clearTransientTool()  void LLToolMgr::onAppFocusLost()  { +	if (LLApp::isQuitting()) +		return; +  	if (mSelectedTool)  	{  		mSelectedTool->handleDeselect(); diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index b0eb60cc76..476c0eef15 100755 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -2115,6 +2115,8 @@ bool LLVOVolume::notifyAboutMissingAsset(LLViewerTexture *texture)  	for(mmap_UUID_MAP_t::iterator range_it = range.first; range_it != range.second; ++range_it)  	{  		LLMaterialPtr cur_material = getTEMaterialParams(range_it->second.te); +		if (cur_material.isNull()) +			continue;  		switch(range_it->second.map)  		{ @@ -3902,7 +3904,7 @@ BOOL LLVOVolume::lineSegmentIntersect(const LLVector4a& start, const LLVector4a&  	if (mDrawable->isState(LLDrawable::RIGGED))  	{ -		if ((pick_rigged) || ((getAvatar()->isSelf()) && (LLFloater::isVisible(gFloaterTools)))) +		if ((pick_rigged) || (getAvatar() && (getAvatar()->isSelf()) && (LLFloater::isVisible(gFloaterTools))))  		{  			updateRiggedVolume(true);  			volume = mRiggedVolume; | 
