diff options
| author | Todd Stinson <stinson@lindenlab.com> | 2012-08-02 17:26:09 -0700 | 
|---|---|---|
| committer | Todd Stinson <stinson@lindenlab.com> | 2012-08-02 17:26:09 -0700 | 
| commit | c44aa1c96655bc762f74583f92eedc155cf23a45 (patch) | |
| tree | 2ceeb0ae004f44ea6c65f0cf9ec9dbc6a36b460b | |
| parent | 0fa1e2b9ae41bb06e5c7db90900d4f469f44b8d3 (diff) | |
CHUI-262: Reordering the steps to remove a view item and view item model during the deletion process to avoid a crash.
| -rw-r--r-- | indra/newview/llinventorypanel.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/llvopartgroup.cpp | 4 | 
2 files changed, 6 insertions, 3 deletions
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 9403ccdabe..e67b59ddcc 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -514,10 +514,13 @@ void LLInventoryPanel::modelChanged(U32 mask)  						}  						else   						{ +							// Remove the item ID before destroying the view because the view-model-item gets +							// destroyed when the view is destroyed +                            removeItemID(viewmodel_item->getUUID()); +  							// Item is to be moved outside the panel's directory (e.g. moved to trash for a panel that   							// doesn't include trash).  Just remove the item's UI.  							view_item->destroyView(); -                            removeItemID(viewmodel_item->getUUID());  						}  					}  				} diff --git a/indra/newview/llvopartgroup.cpp b/indra/newview/llvopartgroup.cpp index e21358b65a..a2794bec56 100644 --- a/indra/newview/llvopartgroup.cpp +++ b/indra/newview/llvopartgroup.cpp @@ -149,8 +149,8 @@ bool ll_is_part_idx_allocated(S32 idx, S32* start, S32* end)  void LLVOPartGroup::freeVBSlot(S32 idx)  {  	llassert(idx < LL_MAX_PARTICLE_COUNT && idx >= 0); -	llassert(sVBSlotCursor > sVBSlotFree); -	llassert(ll_is_part_idx_allocated(idx, sVBSlotCursor, sVBSlotFree+LL_MAX_PARTICLE_COUNT)); +	//llassert(sVBSlotCursor > sVBSlotFree); +	//llassert(ll_is_part_idx_allocated(idx, sVBSlotCursor, sVBSlotFree+LL_MAX_PARTICLE_COUNT));  	if (sVBSlotCursor > sVBSlotFree)  	{  | 
