summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTofu Linden <tofu.linden@lindenlab.com>2010-05-28 12:58:01 +0100
committerTofu Linden <tofu.linden@lindenlab.com>2010-05-28 12:58:01 +0100
commit3e1100dbfa8549e8738bc68b5a4a2e5d36a0da85 (patch)
treeba31e829f216b64207d2afc39a3991f0d7ce847c
parent8a29a2707342a592bd17b794471e3da596a70d6d (diff)
parent7e0b36d6102f5e285296cd8e0dc6961b5c73c7cb (diff)
merge from viewer-public
-rw-r--r--indra/newview/llcofwearables.cpp9
-rw-r--r--indra/newview/llinventoryitemslist.cpp10
-rw-r--r--indra/newview/llpaneleditwearable.cpp2
-rw-r--r--indra/newview/llpanelobjectinventory.cpp54
-rw-r--r--indra/newview/llsechandler_basic.cpp8
-rw-r--r--indra/newview/llsechandler_basic.h2
-rw-r--r--indra/newview/llvoiceclient.cpp4
-rw-r--r--indra/newview/llvoicevivox.cpp3
8 files changed, 55 insertions, 37 deletions
diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp
index dfc203111a..0864d63919 100644
--- a/indra/newview/llcofwearables.cpp
+++ b/indra/newview/llcofwearables.cpp
@@ -308,13 +308,15 @@ void LLCOFWearables::populateAttachmentsAndBodypartsLists(const LLInventoryModel
LLPanelClothingListItem* LLCOFWearables::buildClothingListItem(LLViewerInventoryItem* item, bool first, bool last)
{
llassert(item);
-
+ if (!item) return NULL;
LLPanelClothingListItem* item_panel = LLPanelClothingListItem::create(item);
if (!item_panel) return NULL;
//updating verbs
//we don't need to use permissions of a link but of an actual/linked item
if (item->getLinkedItem()) item = item->getLinkedItem();
+ llassert(item);
+ if (!item) return NULL;
bool allow_modify = item->getPermissions().allowModifyBy(gAgentID);
@@ -340,14 +342,15 @@ LLPanelClothingListItem* LLCOFWearables::buildClothingListItem(LLViewerInventory
LLPanelBodyPartsListItem* LLCOFWearables::buildBodypartListItem(LLViewerInventoryItem* item)
{
llassert(item);
-
+ if (!item) return NULL;
LLPanelBodyPartsListItem* item_panel = LLPanelBodyPartsListItem::create(item);
if (!item_panel) return NULL;
//updating verbs
//we don't need to use permissions of a link but of an actual/linked item
if (item->getLinkedItem()) item = item->getLinkedItem();
-
+ llassert(item);
+ if (!item) return NULL;
bool allow_modify = item->getPermissions().allowModifyBy(gAgentID);
item_panel->setShowLockButton(!allow_modify);
item_panel->setShowEditButton(allow_modify);
diff --git a/indra/newview/llinventoryitemslist.cpp b/indra/newview/llinventoryitemslist.cpp
index 1c3eb547bb..750cdfb678 100644
--- a/indra/newview/llinventoryitemslist.cpp
+++ b/indra/newview/llinventoryitemslist.cpp
@@ -388,7 +388,7 @@ void LLInventoryItemsList::refresh()
computeDifference(getIDs(), added_items, removed_items);
bool add_limit_exceeded = false;
- unsigned nadded = 0;
+ unsigned int nadded = 0;
uuid_vec_t::const_iterator it = added_items.begin();
for( ; added_items.end() != it; ++it)
@@ -400,8 +400,12 @@ void LLInventoryItemsList::refresh()
}
LLViewerInventoryItem* item = gInventory.getItem(*it);
// Do not rearrange items on each adding, let's do that on filter call
- addNewItem(item, false);
- ++nadded;
+ llassert(item);
+ if (item)
+ {
+ addNewItem(item, false);
+ ++nadded;
+ }
}
it = removed_items.begin();
diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp
index 9eccceca66..36f2d05fab 100644
--- a/indra/newview/llpaneleditwearable.cpp
+++ b/indra/newview/llpaneleditwearable.cpp
@@ -1095,6 +1095,8 @@ void LLPanelEditWearable::updateScrollingPanelUI()
if(panel && (mWearablePtr->getItemID().notNull()))
{
const LLEditWearableDictionary::WearableEntry *wearable_entry = LLEditWearableDictionary::getInstance()->getWearable(type);
+ llassert(wearable_entry);
+ if (!wearable_entry) return;
U8 num_subparts = wearable_entry->mSubparts.size();
LLScrollingPanelParam::sUpdateDelayFrames = 0;
diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp
index 0d3beaa9a5..c557e9b85d 100644
--- a/indra/newview/llpanelobjectinventory.cpp
+++ b/indra/newview/llpanelobjectinventory.cpp
@@ -1249,29 +1249,30 @@ LLTaskInvFVBridge* LLTaskInvFVBridge::createObjectBridge(LLPanelObjectInventory*
{
LLTaskInvFVBridge* new_bridge = NULL;
const LLInventoryItem* item = dynamic_cast<LLInventoryItem*>(object);
+ const U32 itemflags = ( NULL == item ? 0 : item->getFlags() );
LLAssetType::EType type = object->getType();
switch(type)
{
case LLAssetType::AT_TEXTURE:
new_bridge = new LLTaskTextureBridge(panel,
- object->getUUID(),
- object->getName());
+ object->getUUID(),
+ object->getName());
break;
case LLAssetType::AT_SOUND:
new_bridge = new LLTaskSoundBridge(panel,
- object->getUUID(),
- object->getName());
+ object->getUUID(),
+ object->getName());
break;
case LLAssetType::AT_LANDMARK:
new_bridge = new LLTaskLandmarkBridge(panel,
- object->getUUID(),
- object->getName());
+ object->getUUID(),
+ object->getName());
break;
case LLAssetType::AT_CALLINGCARD:
new_bridge = new LLTaskCallingCardBridge(panel,
- object->getUUID(),
- object->getName());
+ object->getUUID(),
+ object->getName());
break;
case LLAssetType::AT_SCRIPT:
// OLD SCRIPTS DEPRECATED - JC
@@ -1281,45 +1282,42 @@ LLTaskInvFVBridge* LLTaskInvFVBridge::createObjectBridge(LLPanelObjectInventory*
// object->getName());
break;
case LLAssetType::AT_OBJECT:
- {
- U32 flags = ( NULL == item ? 0 : item->getFlags() );
- new_bridge = new LLTaskObjectBridge(panel,
- object->getUUID(),
- object->getName(),
- flags);
- }
+ new_bridge = new LLTaskObjectBridge(panel,
+ object->getUUID(),
+ object->getName(),
+ itemflags);
break;
case LLAssetType::AT_NOTECARD:
new_bridge = new LLTaskNotecardBridge(panel,
- object->getUUID(),
- object->getName());
+ object->getUUID(),
+ object->getName());
break;
case LLAssetType::AT_ANIMATION:
new_bridge = new LLTaskAnimationBridge(panel,
- object->getUUID(),
- object->getName());
+ object->getUUID(),
+ object->getName());
break;
case LLAssetType::AT_GESTURE:
new_bridge = new LLTaskGestureBridge(panel,
- object->getUUID(),
- object->getName());
+ object->getUUID(),
+ object->getName());
break;
case LLAssetType::AT_CLOTHING:
case LLAssetType::AT_BODYPART:
new_bridge = new LLTaskWearableBridge(panel,
- object->getUUID(),
- object->getName(),
- item->getFlags());
+ object->getUUID(),
+ object->getName(),
+ itemflags);
break;
case LLAssetType::AT_CATEGORY:
new_bridge = new LLTaskCategoryBridge(panel,
- object->getUUID(),
- object->getName());
+ object->getUUID(),
+ object->getName());
break;
case LLAssetType::AT_LSL_TEXT:
new_bridge = new LLTaskLSLBridge(panel,
- object->getUUID(),
- object->getName());
+ object->getUUID(),
+ object->getName());
break;
default:
llinfos << "Unhandled inventory type (llassetstorage.h): "
diff --git a/indra/newview/llsechandler_basic.cpp b/indra/newview/llsechandler_basic.cpp
index edf5ce9b60..c4c13ccdca 100644
--- a/indra/newview/llsechandler_basic.cpp
+++ b/indra/newview/llsechandler_basic.cpp
@@ -541,7 +541,7 @@ LLBasicCertificateVector::iterator LLBasicCertificateVector::find(const LLSD& pa
// Insert a certificate into the store. If the certificate already
// exists in the store, nothing is done.
void LLBasicCertificateVector::insert(iterator _iter,
- LLPointer<LLCertificate> cert)
+ LLPointer<LLCertificate> cert)
{
LLSD cert_info = cert->getLLSD();
if (cert_info.isMap() && cert_info.has(CERT_SHA1_DIGEST))
@@ -551,7 +551,11 @@ void LLBasicCertificateVector::insert(iterator _iter,
if(find(existing_cert_info) == end())
{
BasicIteratorImpl *basic_iter = dynamic_cast<BasicIteratorImpl*>(_iter.mImpl.get());
- mCerts.insert(basic_iter->mIter, cert);
+ llassert(basic_iter);
+ if (basic_iter)
+ {
+ mCerts.insert(basic_iter->mIter, cert);
+ }
}
}
}
diff --git a/indra/newview/llsechandler_basic.h b/indra/newview/llsechandler_basic.h
index 4bbb73f062..407e74ad00 100644
--- a/indra/newview/llsechandler_basic.h
+++ b/indra/newview/llsechandler_basic.h
@@ -116,6 +116,8 @@ public:
virtual bool equals(const LLPointer<iterator_impl>& _iter) const
{
const BasicIteratorImpl *rhs_iter = dynamic_cast<const BasicIteratorImpl *>(_iter.get());
+ llassert(rhs_iter);
+ if (!rhs_iter) return 0;
return (mIter == rhs_iter->mIter);
}
virtual LLPointer<LLCertificate> get()
diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp
index 91353281a8..42e44634b6 100644
--- a/indra/newview/llvoiceclient.cpp
+++ b/indra/newview/llvoiceclient.cpp
@@ -81,8 +81,10 @@ std::string LLVoiceClientStatusObserver::status2string(LLVoiceClientStatusObserv
///////////////////////////////////////////////////////////////////////////////////////////////
LLVoiceClient::LLVoiceClient()
+ :
+ mVoiceModule(NULL),
+ m_servicePump(NULL)
{
- mVoiceModule = NULL;
}
//---------------------------------------------------
diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp
index 1597691347..c6c155f0f0 100644
--- a/indra/newview/llvoicevivox.cpp
+++ b/indra/newview/llvoicevivox.cpp
@@ -4088,7 +4088,9 @@ LLVivoxVoiceClient::participantState::participantState(const std::string &uri) :
mLastSpokeTimestamp(0.f),
mPower(0.f),
mVolume(LLVoiceClient::VOLUME_DEFAULT),
+ mUserVolume(0),
mOnMuteList(false),
+ mVolumeSet(false),
mVolumeDirty(false),
mAvatarIDValid(false),
mIsSelf(false)
@@ -5538,6 +5540,7 @@ LLVivoxVoiceClient::sessionState::sessionState() :
mVoiceEnabled(false),
mReconnect(false),
mVolumeDirty(false),
+ mMuteDirty(false),
mParticipantsChanged(false)
{
}