diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llviewerobject.cpp | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/linden/indra/newview/llviewerobject.cpp b/linden/indra/newview/llviewerobject.cpp index 8dcf29b..50ab57c 100644 --- a/linden/indra/newview/llviewerobject.cpp +++ b/linden/indra/newview/llviewerobject.cpp | |||
@@ -12,12 +12,12 @@ | |||
12 | * ("GPL"), unless you have obtained a separate licensing agreement | 12 | * ("GPL"), unless you have obtained a separate licensing agreement |
13 | * ("Other License"), formally executed by you and Linden Lab. Terms of | 13 | * ("Other License"), formally executed by you and Linden Lab. Terms of |
14 | * the GPL can be found in doc/GPL-license.txt in this distribution, or | 14 | * the GPL can be found in doc/GPL-license.txt in this distribution, or |
15 | * online at http://secondlife.com/developers/opensource/gplv2 | 15 | * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 |
16 | * | 16 | * |
17 | * There are special exceptions to the terms and conditions of the GPL as | 17 | * There are special exceptions to the terms and conditions of the GPL as |
18 | * it is applied to this Source Code. View the full text of the exception | 18 | * it is applied to this Source Code. View the full text of the exception |
19 | * in the file doc/FLOSS-exception.txt in this software distribution, or | 19 | * in the file doc/FLOSS-exception.txt in this software distribution, or |
20 | * online at http://secondlife.com/developers/opensource/flossexception | 20 | * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception |
21 | * | 21 | * |
22 | * By copying, modifying or distributing this software, you acknowledge | 22 | * By copying, modifying or distributing this software, you acknowledge |
23 | * that you have read and understood your obligations described above, | 23 | * that you have read and understood your obligations described above, |
@@ -2343,8 +2343,19 @@ void LLViewerObject::requestInventory() | |||
2343 | doInventoryCallback(); | 2343 | doInventoryCallback(); |
2344 | } | 2344 | } |
2345 | // throw away duplicate requests | 2345 | // throw away duplicate requests |
2346 | else if (! mInventoryPending) | 2346 | else |
2347 | { | 2347 | { |
2348 | fetchInventoryFromServer(); | ||
2349 | } | ||
2350 | } | ||
2351 | |||
2352 | void LLViewerObject::fetchInventoryFromServer() | ||
2353 | { | ||
2354 | if (!mInventoryPending) | ||
2355 | { | ||
2356 | delete mInventory; | ||
2357 | mInventory = NULL; | ||
2358 | mInventoryDirty = FALSE; | ||
2348 | LLMessageSystem* msg = gMessageSystem; | 2359 | LLMessageSystem* msg = gMessageSystem; |
2349 | msg->newMessageFast(_PREHASH_RequestTaskInventory); | 2360 | msg->newMessageFast(_PREHASH_RequestTaskInventory); |
2350 | msg->nextBlockFast(_PREHASH_AgentData); | 2361 | msg->nextBlockFast(_PREHASH_AgentData); |
@@ -2631,6 +2642,9 @@ LLInventoryObject* LLViewerObject::getInventoryRoot() | |||
2631 | 2642 | ||
2632 | LLViewerInventoryItem* LLViewerObject::getInventoryItemByAsset(const LLUUID& asset_id) | 2643 | LLViewerInventoryItem* LLViewerObject::getInventoryItemByAsset(const LLUUID& asset_id) |
2633 | { | 2644 | { |
2645 | if (mInventoryDirty) | ||
2646 | llwarns << "Peforming inventory lookup for object " << mID << " that has dirty inventory!" << llendl; | ||
2647 | |||
2634 | LLViewerInventoryItem* rv = NULL; | 2648 | LLViewerInventoryItem* rv = NULL; |
2635 | if(mInventory) | 2649 | if(mInventory) |
2636 | { | 2650 | { |
@@ -2717,7 +2731,7 @@ BOOL LLViewerObject::updateLOD() | |||
2717 | // Update volume of looping sounds | 2731 | // Update volume of looping sounds |
2718 | if (mAudioSourcep && mAudioSourcep->isLoop()) | 2732 | if (mAudioSourcep && mAudioSourcep->isLoop()) |
2719 | { | 2733 | { |
2720 | F32 volume = mAudioGain * gSavedSettings.getF32("AudioLevelSFX"); | 2734 | F32 volume = gSavedSettings.getBOOL("MuteSounds") ? 0.f : (mAudioGain * gSavedSettings.getF32("AudioLevelSFX")); |
2721 | mAudioSourcep->setGain(volume); | 2735 | mAudioSourcep->setGain(volume); |
2722 | } | 2736 | } |
2723 | return FALSE; | 2737 | return FALSE; |
@@ -4228,7 +4242,7 @@ void LLViewerObject::setAttachedSound(const LLUUID &audio_uuid, const LLUUID& ow | |||
4228 | { | 4242 | { |
4229 | BOOL queue = flags & LL_SOUND_FLAG_QUEUE; | 4243 | BOOL queue = flags & LL_SOUND_FLAG_QUEUE; |
4230 | mAudioGain = gain; | 4244 | mAudioGain = gain; |
4231 | F32 volume = gain * gSavedSettings.getF32("AudioLevelSFX"); | 4245 | F32 volume = gSavedSettings.getBOOL("MuteSounds") ? 0.f : gain * gSavedSettings.getF32("AudioLevelSFX"); |
4232 | mAudioSourcep->setGain(volume); | 4246 | mAudioSourcep->setGain(volume); |
4233 | mAudioSourcep->setLoop(flags & LL_SOUND_FLAG_LOOP); | 4247 | mAudioSourcep->setLoop(flags & LL_SOUND_FLAG_LOOP); |
4234 | mAudioSourcep->setSyncMaster(flags & LL_SOUND_FLAG_SYNC_MASTER); | 4248 | mAudioSourcep->setSyncMaster(flags & LL_SOUND_FLAG_SYNC_MASTER); |
@@ -4267,7 +4281,7 @@ void LLViewerObject::adjustAudioGain(const F32 gain) | |||
4267 | if (mAudioSourcep) | 4281 | if (mAudioSourcep) |
4268 | { | 4282 | { |
4269 | mAudioGain = gain; | 4283 | mAudioGain = gain; |
4270 | F32 volume = mAudioGain * gSavedSettings.getF32("AudioLevelSFX"); | 4284 | F32 volume = gSavedSettings.getBOOL("MuteSounds") ? 0.f : mAudioGain * gSavedSettings.getF32("AudioLevelSFX"); |
4271 | mAudioSourcep->setGain(volume); | 4285 | mAudioSourcep->setGain(volume); |
4272 | } | 4286 | } |
4273 | } | 4287 | } |