diff options
| author | Vadim Savchuk <vsavchuk@productengine.com> | 2010-01-28 13:58:00 +0200 | 
|---|---|---|
| committer | Vadim Savchuk <vsavchuk@productengine.com> | 2010-01-28 13:58:00 +0200 | 
| commit | 14caf5475b8963e6b6689e96a0a7a64e13bb1887 (patch) | |
| tree | 8d08ab19e287fca6a07622560669573fb9750181 | |
| parent | 33a417dd2d93573f7aafc194eefdad5339bccf1d (diff) | |
| parent | 52bd13e1f5cd661ff359e36be8c0496d06c19d1c (diff) | |
Merge from default branch
--HG--
branch : product-engine
67 files changed, 261 insertions, 132 deletions
| diff --git a/indra/llcommon/llallocator_heap_profile.cpp b/indra/llcommon/llallocator_heap_profile.cpp index 0a807702d0..e50d59fd4b 100644 --- a/indra/llcommon/llallocator_heap_profile.cpp +++ b/indra/llcommon/llallocator_heap_profile.cpp @@ -113,21 +113,24 @@ void LLAllocatorHeapProfile::parse(std::string const & prof_text)          ++j;          while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens -        llassert_always(j != line_elems.end()); -        ++j; // skip the '@' - -        mLines.push_back(line(live_count, live_size, tot_count, tot_size)); -        line & current_line = mLines.back(); - -        for(; j != line_elems.end(); ++j) -        { -            if(!j->empty()) { -                U32 marker = boost::lexical_cast<U32>(*j); -                current_line.mTrace.push_back(marker); -            } -        } +	llassert(j != line_elems.end()); +        if (j != line_elems.end()) +	{ +		++j; // skip the '@' + +		mLines.push_back(line(live_count, live_size, tot_count, tot_size)); +		line & current_line = mLines.back(); +		 +		for(; j != line_elems.end(); ++j) +		{ +			if(!j->empty()) +			{ +				U32 marker = boost::lexical_cast<U32>(*j); +				current_line.mTrace.push_back(marker); +			} +		} +	}      } -      // *TODO - parse MAPPED_LIBRARIES section here if we're ever interested in it  } diff --git a/indra/llcommon/lldate.cpp b/indra/llcommon/lldate.cpp index ca7e471bf2..de7f2ead74 100644 --- a/indra/llcommon/lldate.cpp +++ b/indra/llcommon/lldate.cpp @@ -152,7 +152,8 @@ void LLDate::toStream(std::ostream& s) const  		s << '.' << std::setw(2)  		  << (int)(exp_time.tm_usec / (LL_APR_USEC_PER_SEC / 100));  	} -	s << 'Z'; +	s << 'Z' +	  << std::setfill(' ');  }  bool LLDate::split(S32 *year, S32 *month, S32 *day, S32 *hour, S32 *min, S32 *sec) const diff --git a/indra/llcommon/llprocessor.cpp b/indra/llcommon/llprocessor.cpp index 469e544b16..8a4a4a8f9a 100644 --- a/indra/llcommon/llprocessor.cpp +++ b/indra/llcommon/llprocessor.cpp @@ -281,7 +281,8 @@ bool CProcessor::AnalyzeIntelProcessor()  	// already have a string here from GetCPUInfo().  JC  	if ( CPUInfo.uiBrandID < LL_ARRAY_SIZE(INTEL_BRAND) )  	{ -		strcpy(CPUInfo.strBrandID, INTEL_BRAND[CPUInfo.uiBrandID]); +		strncpy(CPUInfo.strBrandID, INTEL_BRAND[CPUInfo.uiBrandID], sizeof(CPUInfo.strBrandID)-1); +		CPUInfo.strBrandID[sizeof(CPUInfo.strBrandID)-1]='\0';  		if (CPUInfo.uiBrandID == 3 && CPUInfo.uiModel == 6)  		{ diff --git a/indra/llcommon/llstring.h b/indra/llcommon/llstring.h index 31e70e0fe4..62cedcde4e 100644 --- a/indra/llcommon/llstring.h +++ b/indra/llcommon/llstring.h @@ -882,6 +882,7 @@ void LLStringUtilBase<T>::addCRLF(std::basic_string<T>& string)  		}  		string.assign(t, size); +		delete[] t;  	}  } diff --git a/indra/llcommon/lluri.cpp b/indra/llcommon/lluri.cpp index f6e8f01f0e..9d4f3a98f0 100644 --- a/indra/llcommon/lluri.cpp +++ b/indra/llcommon/lluri.cpp @@ -46,10 +46,21 @@  void encode_character(std::ostream& ostr, std::string::value_type val)  { -	ostr << "%" << std::uppercase << std::hex << std::setw(2) << std::setfill('0')  +	ostr << "%" + +	     << std::uppercase +	     << std::hex +	     << std::setw(2) +	     << std::setfill('0')  +  	     // VWR-4010 Cannot cast to U32 because sign-extension on   	     // chars > 128 will result in FFFFFFC3 instead of F3. -	     << static_cast<S32>(static_cast<U8>(val)); +	     << static_cast<S32>(static_cast<U8>(val)) + +		// reset stream state +	     << std::nouppercase +	     << std::dec +	     << std::setfill(' ');  }  // static diff --git a/indra/llmath/lloctree.h b/indra/llmath/lloctree.h index ba8776690a..2f34fb1bb0 100644 --- a/indra/llmath/lloctree.h +++ b/indra/llmath/lloctree.h @@ -183,7 +183,6 @@ public:  		{  			mMax.mdV[i] = mCenter.mdV[i] + mSize.mdV[i];  			mMin.mdV[i] = mCenter.mdV[i] - mSize.mdV[i]; -			mCenter.mdV[i] = mCenter.mdV[i];  		}  	} diff --git a/indra/llmessage/llcachename.cpp b/indra/llmessage/llcachename.cpp index 3078d80552..dbec2816c8 100644 --- a/indra/llmessage/llcachename.cpp +++ b/indra/llmessage/llcachename.cpp @@ -125,7 +125,7 @@ private:  };  ReplySender::ReplySender(LLMessageSystem* msg) -	: mMsg(msg), mPending(false) +	: mMsg(msg), mPending(false), mCurrIsGroup(false)  { }  ReplySender::~ReplySender() diff --git a/indra/llmessage/llmessagetemplateparser.cpp b/indra/llmessage/llmessagetemplateparser.cpp index 283547ea00..2ddbf3e0df 100644 --- a/indra/llmessage/llmessagetemplateparser.cpp +++ b/indra/llmessage/llmessagetemplateparser.cpp @@ -403,6 +403,10 @@ LLTemplateParser::LLTemplateParser(LLTemplateTokenizer & tokens):  		{  			mMessages.push_back(templatep);  		} +		else +		{ +			delete templatep; +		}  	}  	if(!tokens.wantEOF()) diff --git a/indra/llmessage/llnamevalue.cpp b/indra/llmessage/llnamevalue.cpp index 01e922eba2..43429b0ab3 100644 --- a/indra/llmessage/llnamevalue.cpp +++ b/indra/llmessage/llnamevalue.cpp @@ -963,6 +963,7 @@ std::ostream&		operator<<(std::ostream& s, const LLNameValue &a)  			U64_to_str(*a.mNameValueReference.u64, u64_string, sizeof(u64_string));  			s << u64_string;  		} +		break;  	case NVT_VEC3:  		s << *(a.mNameValueReference.vec3);  		break; diff --git a/indra/llmessage/lltemplatemessagebuilder.cpp b/indra/llmessage/lltemplatemessagebuilder.cpp index 6400310c46..55379fc6fd 100644 --- a/indra/llmessage/lltemplatemessagebuilder.cpp +++ b/indra/llmessage/lltemplatemessagebuilder.cpp @@ -737,10 +737,14 @@ static S32 buildBlock(U8* buffer, S32 buffer_size, const LLMessageBlock* templat  		}  		--block_count; -		++block_iter; +		  		if (block_iter != message_data->mMemberBlocks.end())  		{ -			mbci = block_iter->second; +			++block_iter; +			if (block_iter != message_data->mMemberBlocks.end()) +			{ +				mbci = block_iter->second; +			}  		}  	} diff --git a/indra/llmessage/lltransfermanager.cpp b/indra/llmessage/lltransfermanager.cpp index d67911e8e2..0a71ad95f2 100644 --- a/indra/llmessage/lltransfermanager.cpp +++ b/indra/llmessage/lltransfermanager.cpp @@ -855,6 +855,7 @@ void LLTransferSourceChannel::updateTransfers()  			break;  		case LLTS_ERROR:  			llwarns << "Error in transfer dataCallback!" << llendl; +			// fall through  		case LLTS_DONE:  			// We need to clean up this transfer source.  			//llinfos << "LLTransferSourceChannel::updateTransfers() " << tsp->getID() << " done" << llendl; diff --git a/indra/llplugin/llpluginprocesschild.cpp b/indra/llplugin/llpluginprocesschild.cpp index 07fc82c770..11c924cadf 100644 --- a/indra/llplugin/llpluginprocesschild.cpp +++ b/indra/llplugin/llpluginprocesschild.cpp @@ -359,6 +359,7 @@ void LLPluginProcessChild::receiveMessageRaw(const std::string &message)  					else  					{  						LL_WARNS("Plugin") << "Couldn't create a shared memory segment!" << LL_ENDL; +						delete region;  					}  				} diff --git a/indra/llplugin/slplugin/slplugin.cpp b/indra/llplugin/slplugin/slplugin.cpp index 23dc532ba5..77240ce546 100644 --- a/indra/llplugin/slplugin/slplugin.cpp +++ b/indra/llplugin/slplugin/slplugin.cpp @@ -156,7 +156,7 @@ bool checkExceptionHandler()  	if (prev_filter == NULL)  	{  		ok = FALSE; -		if (myWin32ExceptionHandler == NULL) +		if (NULL == myWin32ExceptionHandler)  		{  			LL_WARNS("AppInit") << "Exception handler uninitialized." << LL_ENDL;  		} diff --git a/indra/llrender/llfontbitmapcache.cpp b/indra/llrender/llfontbitmapcache.cpp index f01878642a..fa231c9e6a 100644 --- a/indra/llrender/llfontbitmapcache.cpp +++ b/indra/llrender/llfontbitmapcache.cpp @@ -64,7 +64,7 @@ void LLFontBitmapCache::init(S32 num_components,  LLImageRaw *LLFontBitmapCache::getImageRaw(U32 bitmap_num) const  { -	if ((bitmap_num < 0) || (bitmap_num >= mImageRawVec.size())) +	if (bitmap_num >= mImageRawVec.size())  		return NULL;  	return mImageRawVec[bitmap_num]; @@ -72,7 +72,7 @@ LLImageRaw *LLFontBitmapCache::getImageRaw(U32 bitmap_num) const  LLImageGL *LLFontBitmapCache::getImageGL(U32 bitmap_num) const  { -	if ((bitmap_num < 0) || (bitmap_num >= mImageGLVec.size())) +	if (bitmap_num >= mImageGLVec.size())  		return NULL;  	return mImageGLVec[bitmap_num]; diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp index 46478ba3c9..8bcc4723ae 100644 --- a/indra/llrender/llimagegl.cpp +++ b/indra/llrender/llimagegl.cpp @@ -1716,10 +1716,7 @@ void LLImageGL::updatePickMask(S32 width, S32 height, const U8* data_in)  			{  				U32 pick_idx = pick_bit/8;  				U32 pick_offset = pick_bit%8; -				if (pick_idx >= size) -				{ -					llerrs << "WTF?" << llendl; -				} +				llassert(pick_idx < size);  				mPickMask[pick_idx] |= 1 << pick_offset;  			} diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp index 572ae13909..ecfe845b34 100644 --- a/indra/llrender/llvertexbuffer.cpp +++ b/indra/llrender/llvertexbuffer.cpp @@ -237,7 +237,7 @@ void LLVertexBuffer::drawRange(U32 mode, U32 start, U32 end, U32 count, U32 indi  		llerrs << "Wrong vertex buffer bound." << llendl;  	} -	if (mode > LLRender::NUM_MODES) +	if (mode >= LLRender::NUM_MODES)  	{  		llerrs << "Invalid draw mode: " << mode << llendl;  		return; @@ -267,7 +267,7 @@ void LLVertexBuffer::draw(U32 mode, U32 count, U32 indices_offset) const  		llerrs << "Wrong vertex buffer bound." << llendl;  	} -	if (mode > LLRender::NUM_MODES) +	if (mode >= LLRender::NUM_MODES)  	{  		llerrs << "Invalid draw mode: " << mode << llendl;  		return; @@ -292,7 +292,7 @@ void LLVertexBuffer::drawArrays(U32 mode, U32 first, U32 count) const  		llerrs << "Wrong vertex buffer bound." << llendl;  	} -	if (mode > LLRender::NUM_MODES) +	if (mode >= LLRender::NUM_MODES)  	{  		llerrs << "Invalid draw mode: " << mode << llendl;  		return; diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index c172a2b714..ceb1e9820e 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -1875,17 +1875,21 @@ void LLMenuGL::scrollItemsDown()  	item_list_t::iterator next_item_iter; -	for (next_item_iter = ++cur_item_iter; next_item_iter != mItems.end(); next_item_iter++) +	if (cur_item_iter != mItems.end())  	{ -		if( (*next_item_iter)->getVisible()) +		for (next_item_iter = ++cur_item_iter; next_item_iter != mItems.end(); next_item_iter++)  		{ -			break; +			if( (*next_item_iter)->getVisible()) +			{ +				break; +			} +		} +		 +		if (next_item_iter != mItems.end() && +		    (*next_item_iter)->getVisible()) +		{ +			mFirstVisibleItem = *next_item_iter;  		} -	} - -	if ((*next_item_iter)->getVisible()) -	{ -		mFirstVisibleItem = *next_item_iter;  	}  	mNeedsArrange = TRUE; diff --git a/indra/llui/llnotifications.cpp b/indra/llui/llnotifications.cpp index 86989012ee..a67094b8ce 100644 --- a/indra/llui/llnotifications.cpp +++ b/indra/llui/llnotifications.cpp @@ -1058,6 +1058,7 @@ LLNotificationChannelPtr LLNotifications::getChannel(const std::string& channelN  	if(p == mChannels.end())  	{  		llerrs << "Did not find channel named " << channelName << llendl; +		return LLNotificationChannelPtr();  	}  	return p->second;  } diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp index dcb3542e18..6be76605fd 100644 --- a/indra/llui/lltabcontainer.cpp +++ b/indra/llui/lltabcontainer.cpp @@ -1590,7 +1590,10 @@ void LLTabContainer::onTabBtn( const LLSD& data, LLPanel* panel )  	LLTabTuple* tuple = getTabByPanel(panel);  	selectTabPanel( panel ); -	tuple->mTabPanel->setFocus(TRUE); +	if (tuple) +	{ +		tuple->mTabPanel->setFocus(TRUE); +	}  }  void LLTabContainer::onNextBtn( const LLSD& data ) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 7ddeb90d29..4c0c895a7d 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1064,11 +1064,13 @@ if (DARWIN)    find_library(APPKIT_LIBRARY AppKit)    find_library(COCOA_LIBRARY Cocoa)    find_library(IOKIT_LIBRARY IOKit) +  find_library(COREAUDIO_LIBRARY CoreAudio)    set(viewer_LIBRARIES      ${COCOA_LIBRARY}      ${AGL_LIBRARY}      ${IOKIT_LIBRARY} +    ${COREAUDIO_LIBRARY}      )    # Add resource files to the project. diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index c21cdf9508..b0ff3a5626 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1130,8 +1130,9 @@ void LLAgentWearables::addLocalTextureObject(const EWearableType wearable_type,  	if (!wearable)  	{  		llerrs << "Tried to add local texture object to invalid wearable with type " << wearable_type << " and index " << wearable_index << llendl; +		return;  	} -	LLLocalTextureObject* lto = new LLLocalTextureObject(); +	LLLocalTextureObject lto;  	wearable->setLocalTextureObject(texture_type, lto);  } @@ -2527,6 +2528,7 @@ void LLInitialWearablesFetch::processWearablesMessage()  			{  				llinfos << "Invalid wearable, type " << wearable_data->mType << " itemID "  				<< wearable_data->mItemID << " assetID " << wearable_data->mAssetID << llendl; +				delete wearable_data;  			}  		} diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 1dec8c7bd8..8f4ce4498e 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -292,11 +292,11 @@ private:  struct LLFoundData  { -	LLFoundData() {} +	LLFoundData() : mAssetType(LLAssetType::AT_NONE), mWearable(NULL) {}  	LLFoundData(const LLUUID& item_id, -				const LLUUID& asset_id, -				const std::string& name, -				LLAssetType::EType asset_type) : +		    const LLUUID& asset_id, +		    const std::string& name, +		    LLAssetType::EType asset_type) :  		mItemID(item_id),  		mAssetID(asset_id),  		mName(name), diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 0e248ff88b..9aa15789ed 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2685,7 +2685,7 @@ void LLAppViewer::handleViewerCrash()  		gMessageSystem->stopLogging();  	} -	LLWorld::getInstance()->getInfo(gDebugInfo); +	if (LLWorld::instanceExists()) LLWorld::getInstance()->getInfo(gDebugInfo);  	// Close the debug file  	pApp->writeDebugInfo(); @@ -4405,3 +4405,15 @@ void LLAppViewer::launchUpdater()  	// LLAppViewer::instance()->forceQuit();  } + +//virtual +void LLAppViewer::setMasterSystemAudioMute(bool mute) +{ +	gSavedSettings.setBOOL("MuteAudio", mute); +} + +//virtual +bool LLAppViewer::getMasterSystemAudioMute() +{ +	return gSavedSettings.getBOOL("MuteAudio"); +} diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h index 40e74061b5..a011c5ebfd 100644 --- a/indra/newview/llappviewer.h +++ b/indra/newview/llappviewer.h @@ -168,6 +168,10 @@ public:  	void purgeCache(); // Clear the local cache.  +	// mute/unmute the system's master audio +	virtual void setMasterSystemAudioMute(bool mute); +	virtual bool getMasterSystemAudioMute(); +	  protected:  	virtual bool initWindow(); // Initialize the viewer's window.  	virtual bool initLogging(); // Initialize log files, logging system, return false on failure. diff --git a/indra/newview/llappviewermacosx.cpp b/indra/newview/llappviewermacosx.cpp index 1282e437f2..f8f8f50cd6 100644 --- a/indra/newview/llappviewermacosx.cpp +++ b/indra/newview/llappviewermacosx.cpp @@ -50,6 +50,7 @@  #include <Carbon/Carbon.h>  #include "lldir.h"  #include <signal.h> +#include <CoreAudio/CoreAudio.h>	// for systemwide mute  class LLMediaCtrl;		// for LLURLDispatcher  namespace  @@ -444,6 +445,59 @@ std::string LLAppViewerMacOSX::generateSerialNumber()  	return serial_md5;  } +static AudioDeviceID get_default_audio_output_device(void) +{ +	AudioDeviceID device = 0; +	UInt32 size; +	OSStatus err; +	 +	size = sizeof(device); +	err = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultOutputDevice, &size, &device); +	if(err != noErr) +	{ +		LL_DEBUGS("SystemMute") << "Couldn't get default audio output device (0x" << std::hex << err << ")" << LL_ENDL; +	} +	 +	return device; +} + +//virtual +void LLAppViewerMacOSX::setMasterSystemAudioMute(bool new_mute) +{ +	AudioDeviceID device = get_default_audio_output_device(); +	 +	if(device != 0) +	{ +		UInt32 mute = new_mute; +		OSStatus err = AudioDeviceSetProperty(device, NULL, 0, false, kAudioDevicePropertyMute, sizeof(mute), &mute); +		if(err != noErr) +		{ +			LL_INFOS("SystemMute") << "Couldn't set audio mute property (0x" << std::hex << err << ")" << LL_ENDL; +		} +	} +} + +//virtual +bool LLAppViewerMacOSX::getMasterSystemAudioMute() +{ +	// Assume the system isn't muted  +	UInt32 mute = 0; +	 +	AudioDeviceID device = get_default_audio_output_device(); +	 +	if(device != 0) +	{ +		UInt32 size = sizeof(mute); +		OSStatus err = AudioDeviceGetProperty(device, 0, false, kAudioDevicePropertyMute, &size, &mute); +		if(err != noErr) +		{ +			LL_DEBUGS("SystemMute") << "Couldn't get audio mute property (0x" << std::hex << err << ")" << LL_ENDL; +		} +	} +	 +	return (mute != 0); +} +  OSErr AEGURLHandler(const AppleEvent *messagein, AppleEvent *reply, long refIn)  {  	OSErr result = noErr; diff --git a/indra/newview/llappviewermacosx.h b/indra/newview/llappviewermacosx.h index bc841fc3a7..cbf7e6c209 100644 --- a/indra/newview/llappviewermacosx.h +++ b/indra/newview/llappviewermacosx.h @@ -48,6 +48,9 @@ public:  	//  	virtual bool init();			// Override to do application initialization +	// mute/unmute the system's master audio +	virtual void setMasterSystemAudioMute(bool mute); +	virtual bool getMasterSystemAudioMute();  protected:  	virtual bool restoreErrorTrap(); diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index eef774426a..965ac1cad0 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -157,6 +157,7 @@ void LLFace::init(LLDrawable* drawablep, LLViewerObject* objp)  	mGeomIndex		= 0;  	mIndicesCount	= 0;  	mIndicesIndex	= 0; +	mIndexInTex = 0;  	mTexture		= NULL;  	mTEOffset		= -1; diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp index fc8790c172..aea2de8e92 100644 --- a/indra/newview/llflexibleobject.cpp +++ b/indra/newview/llflexibleobject.cpp @@ -66,6 +66,7 @@ LLVolumeImplFlexible::LLVolumeImplFlexible(LLViewerObject* vo, LLFlexibleObjectD  	mInitializedRes = -1;  	mSimulateRes = 0;  	mFrameNum = 0; +	mCollisionSphereRadius = 0.f;  	mRenderRes = 1;  	if(mVO->mDrawable.notNull()) diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 85353ce308..d54736e942 100644 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -1521,11 +1521,6 @@ void LLPanelEstateInfo::onClickRemoveEstateManager(void* user_data)  //---------------------------------------------------------------------------  // Kick from estate methods  //--------------------------------------------------------------------------- -struct LLKickFromEstateInfo -{ -	LLPanelEstateInfo *mEstatePanelp; -	LLUUID      mAgentID; -};  void LLPanelEstateInfo::onClickKickUser()  { @@ -1547,11 +1542,6 @@ void LLPanelEstateInfo::onKickUserCommit(const std::vector<std::string>& names,  		return;  	} -	//keep track of what user they want to kick and other misc info -	LLKickFromEstateInfo *kick_info = new LLKickFromEstateInfo(); -	kick_info->mEstatePanelp = this; -	kick_info->mAgentID     = ids[0]; -  	//Bring up a confirmation dialog  	LLSD args;  	args["EVIL_USER"] = names[0]; diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h index 759d0cba18..eeb8246b11 100644 --- a/indra/newview/llinventorybridge.h +++ b/indra/newview/llinventorybridge.h @@ -320,8 +320,12 @@ public:  	LLViewerInventoryCategory* getCategory() const;  protected: -	LLFolderBridge(LLInventoryPanel* inventory, const LLUUID& uuid) : -		LLInvFVBridge(inventory, uuid), mCallingCards(FALSE), mWearables(FALSE) {} +	LLFolderBridge(LLInventoryPanel* inventory, const LLUUID& uuid) +		: LLInvFVBridge(inventory, uuid), + +		mCallingCards(FALSE), +		mWearables(FALSE), +		mMenu(NULL) {}  	// menu callbacks  	static void pasteClipboard(void* user_data); diff --git a/indra/newview/lllocaltextureobject.cpp b/indra/newview/lllocaltextureobject.cpp index 6bcbe6f58c..69eb5fce2f 100644 --- a/indra/newview/lllocaltextureobject.cpp +++ b/indra/newview/lllocaltextureobject.cpp @@ -47,7 +47,9 @@ LLLocalTextureObject::LLLocalTextureObject() :  	mImage = NULL;  } -LLLocalTextureObject::LLLocalTextureObject(LLViewerFetchedTexture* image, const LLUUID& id) +LLLocalTextureObject::LLLocalTextureObject(LLViewerFetchedTexture* image, const LLUUID& id) : +	mIsBakedReady(FALSE), +	mDiscard(MAX_DISCARD_LEVEL+1)  {  	mImage = image;  	gGL.getTexUnit(0)->bind(mImage); diff --git a/indra/newview/lllocationhistory.cpp b/indra/newview/lllocationhistory.cpp index ae1b8f8540..f494f7d7c1 100644 --- a/indra/newview/lllocationhistory.cpp +++ b/indra/newview/lllocationhistory.cpp @@ -50,18 +50,19 @@ void LLLocationHistory::addItem(const LLLocationHistoryItem& item) {  	// check if this item doesn't duplicate any existing one  	location_list_t::iterator item_iter = std::find(mItems.begin(), mItems.end(),item); -	if(item_iter != mItems.end()){ +	if(item_iter != mItems.end()) // if it already exists, erase the old one +	{  		mItems.erase(item_iter);	  	}  	mItems.push_back(item); -	// If the vector size exceeds the maximum, purge the oldest items. -	if ((S32)mItems.size() > max_items) { -		for(location_list_t::iterator i = mItems.begin(); i != mItems.end()-max_items; ++i) { -				mItems.erase(i); -		} +	// If the vector size exceeds the maximum, purge the oldest items (at the start of the mItems vector). +	if ((S32)mItems.size() > max_items) +	{ +		mItems.erase(mItems.begin(), mItems.end()-max_items);  	} +	llassert(mItems.size() <= max_items);  }  /* diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp index 23db7ad226..469f1c1739 100644 --- a/indra/newview/llpanelgroup.cpp +++ b/indra/newview/llpanelgroup.cpp @@ -569,10 +569,10 @@ void LLPanelGroup::chatGroup()  }  void LLPanelGroup::showNotice(const std::string& subject, -							  const std::string& message, -							  const bool& has_inventory, -							  const std::string& inventory_name, -							  LLOfferInfo* inventory_offer) +			      const std::string& message, +			      const bool& has_inventory, +			      const std::string& inventory_name, +			      LLOfferInfo* inventory_offer)  {  	LLPanelGroupNotices* panel_notices = findChild<LLPanelGroupNotices>("group_notices_tab_panel");  	if(!panel_notices) diff --git a/indra/newview/llpanellandmarkinfo.cpp b/indra/newview/llpanellandmarkinfo.cpp index c792fd4fe3..7a17d4a1f0 100644 --- a/indra/newview/llpanellandmarkinfo.cpp +++ b/indra/newview/llpanellandmarkinfo.cpp @@ -108,7 +108,7 @@ void LLPanelLandmarkInfo::resetLocation()  }  // virtual -void LLPanelLandmarkInfo::setInfoType(INFO_TYPE type) +void LLPanelLandmarkInfo::setInfoType(EInfoType type)  {  	LLPanel* landmark_info_panel = getChild<LLPanel>("landmark_info_panel"); diff --git a/indra/newview/llpanellandmarkinfo.h b/indra/newview/llpanellandmarkinfo.h index 2a9949ae41..b3dc3f5ad9 100644 --- a/indra/newview/llpanellandmarkinfo.h +++ b/indra/newview/llpanellandmarkinfo.h @@ -49,7 +49,7 @@ public:  	/*virtual*/ void resetLocation(); -	/*virtual*/ void setInfoType(INFO_TYPE type); +	/*virtual*/ void setInfoType(EInfoType type);  	/*virtual*/ void processParcelInfo(const LLParcelData& parcel_data); diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index d4376550d6..5c5c35141e 100644 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -463,10 +463,6 @@ BOOL LLTaskInvFVBridge::removeItem()  			}  			else  			{ -				remove_data_t* data = new remove_data_t; -				data->first = mPanel; -				data->second.first = mPanel->getTaskUUID(); -				data->second.second.push_back(mUUID);  				LLSD payload;  				payload["task_id"] = mPanel->getTaskUUID();  				payload["inventory_ids"].append(mUUID); diff --git a/indra/newview/llpanelplaceinfo.cpp b/indra/newview/llpanelplaceinfo.cpp index 5f75668722..9ebc8ca2b9 100644 --- a/indra/newview/llpanelplaceinfo.cpp +++ b/indra/newview/llpanelplaceinfo.cpp @@ -58,6 +58,7 @@ LLPanelPlaceInfo::LLPanelPlaceInfo()  	mPosRegion(),  	mScrollingPanelMinHeight(0),  	mScrollingPanelWidth(0), +	mInfoType(UNKNOWN),  	mScrollingPanel(NULL),  	mScrollContainer(NULL)  {} @@ -120,7 +121,7 @@ void LLPanelPlaceInfo::setParcelID(const LLUUID& parcel_id)  }  //virtual -void LLPanelPlaceInfo::setInfoType(INFO_TYPE type) +void LLPanelPlaceInfo::setInfoType(EInfoType type)  {  	mTitle->setText(mCurrentTitle); diff --git a/indra/newview/llpanelplaceinfo.h b/indra/newview/llpanelplaceinfo.h index 3091f7ed24..deedbd2b0f 100644 --- a/indra/newview/llpanelplaceinfo.h +++ b/indra/newview/llpanelplaceinfo.h @@ -54,8 +54,10 @@ class LLViewerInventoryCategory;  class LLPanelPlaceInfo : public LLPanel, LLRemoteParcelInfoObserver  {  public: -	enum INFO_TYPE +	enum EInfoType  	{ +		UNKNOWN, +  		AGENT,  		CREATE_LANDMARK,  		LANDMARK, @@ -79,7 +81,7 @@ public:  	// Depending on how the panel was triggered  	// (from landmark or current location, or other)  	// sets a corresponding title and contents. -	virtual void setInfoType(INFO_TYPE type); +	virtual void setInfoType(EInfoType type);  	// Requests remote parcel info by parcel ID.  	void sendParcelInfoRequest(); @@ -114,7 +116,7 @@ protected:  	std::string				mCurrentTitle;  	S32						mScrollingPanelMinHeight;  	S32						mScrollingPanelWidth; -	INFO_TYPE 				mInfoType; +	EInfoType 				mInfoType;  	LLScrollContainer*		mScrollContainer;  	LLPanel*				mScrollingPanel; diff --git a/indra/newview/llpanelplaceprofile.cpp b/indra/newview/llpanelplaceprofile.cpp index 3c798639d4..8d689b2c5e 100644 --- a/indra/newview/llpanelplaceprofile.cpp +++ b/indra/newview/llpanelplaceprofile.cpp @@ -207,7 +207,7 @@ void LLPanelPlaceProfile::resetLocation()  }  // virtual -void LLPanelPlaceProfile::setInfoType(INFO_TYPE type) +void LLPanelPlaceProfile::setInfoType(EInfoType type)  {  	bool is_info_type_agent = type == AGENT; diff --git a/indra/newview/llpanelplaceprofile.h b/indra/newview/llpanelplaceprofile.h index 8ca9526875..e77b441567 100644 --- a/indra/newview/llpanelplaceprofile.h +++ b/indra/newview/llpanelplaceprofile.h @@ -48,7 +48,7 @@ public:  	/*virtual*/ void resetLocation(); -	/*virtual*/ void setInfoType(INFO_TYPE type); +	/*virtual*/ void setInfoType(EInfoType type);  	/*virtual*/ void processParcelInfo(const LLParcelData& parcel_data); diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp index 1b8fb49641..6005881148 100644 --- a/indra/newview/llpanelteleporthistory.cpp +++ b/indra/newview/llpanelteleporthistory.cpp @@ -308,7 +308,7 @@ void LLTeleportHistoryFlatItemStorage::purge()  ////////////////////////////////////////////////////////////////////////////////  LLTeleportHistoryPanel::ContextMenu::ContextMenu() : -	mMenu(NULL) +	mMenu(NULL), mIndex(0)  {  } diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 60a095506b..6f76715e73 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -5093,6 +5093,7 @@ LLSelectNode::LLSelectNode(const LLSelectNode& nodep)  	mName = nodep.mName;  	mDescription = nodep.mDescription;  	mCategory = nodep.mCategory; +	mInventorySerial = 0;  	mSavedPositionLocal = nodep.mSavedPositionLocal;  	mSavedPositionGlobal = nodep.mSavedPositionGlobal;  	mSavedScale = nodep.mSavedScale; diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp index 514d8facb4..2a57d48f16 100644 --- a/indra/newview/llspatialpartition.cpp +++ b/indra/newview/llspatialpartition.cpp @@ -294,7 +294,7 @@ LLSpatialGroup::~LLSpatialGroup()  	sNodeCount--; -	if (gGLManager.mHasOcclusionQuery && mOcclusionQuery) +	if (gGLManager.mHasOcclusionQuery && mOcclusionQuery[LLViewerCamera::sCurCameraID])  	{  		sQueryPool.release(mOcclusionQuery[LLViewerCamera::sCurCameraID]);  	} @@ -2607,6 +2607,7 @@ void renderBoundingBox(LLDrawable* drawable, BOOL set_color = TRUE)  						break;  				case LL_PCODE_LEGACY_TREE:  						gGL.color4f(0,0.5f,0,1); +						break;  				default:  						gGL.color4f(1,0,1,1);  						break; diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 8a36475510..bff32af228 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -354,7 +354,7 @@ void LLStatusBar::refresh()  	childSetEnabled("stat_btn", net_stats_visible);  	// update the master volume button state -	BOOL mute_audio = gSavedSettings.getBOOL("MuteAudio"); +	bool mute_audio = LLAppViewer::instance()->getMasterSystemAudioMute();  	mBtnVolume->setToggleState(mute_audio);  } @@ -523,8 +523,8 @@ void LLStatusBar::onMouseEnterVolume(LLUICtrl* ctrl)  static void onClickVolume(void* data)  {  	// toggle the master mute setting -	BOOL mute_audio = gSavedSettings.getBOOL("MuteAudio"); -	gSavedSettings.setBOOL("MuteAudio", !mute_audio); +	bool mute_audio = LLAppViewer::instance()->getMasterSystemAudioMute(); +	LLAppViewer::instance()->setMasterSystemAudioMute(!mute_audio);	  }  // sets the static variables necessary for the date diff --git a/indra/newview/llsurfacepatch.cpp b/indra/newview/llsurfacepatch.cpp index 0ce794addb..48e4a6ccc7 100644 --- a/indra/newview/llsurfacepatch.cpp +++ b/indra/newview/llsurfacepatch.cpp @@ -60,6 +60,7 @@ LLSurfacePatch::LLSurfacePatch() :  	mHeightsGenerated(FALSE),  	mDataOffset(0),  	mDataZ(NULL), +	mDataNorm(NULL),  	mVObjp(NULL),  	mOriginRegion(0.f, 0.f, 0.f),  	mCenterRegion(0.f, 0.f, 0.f), @@ -355,12 +356,14 @@ void LLSurfacePatch::calcNormal(const U32 x, const U32 y, const U32 stride)  	normal %= c2;  	normal.normVec(); +	llassert(mDataNorm);  	*(mDataNorm + surface_stride * y + x) = normal;  }  const LLVector3 &LLSurfacePatch::getNormal(const U32 x, const U32 y) const  {  	U32 surface_stride = mSurfacep->getGridsPerEdge(); +	llassert(mDataNorm);  	return *(mDataNorm + surface_stride * y + x);  } @@ -402,6 +405,7 @@ void LLSurfacePatch::updateVerticalStats()  	U32 i, j, k;  	F32 z, total; +	llassert(mDataZ);  	z = *(mDataZ);  	mMinZ = z; diff --git a/indra/newview/lltexlayer.cpp b/indra/newview/lltexlayer.cpp index 84c8b9d5f0..ddb6405c41 100644 --- a/indra/newview/lltexlayer.cpp +++ b/indra/newview/lltexlayer.cpp @@ -567,6 +567,7 @@ LLTexLayerSet::LLTexLayerSet(LLVOAvatarSelf* const avatar) :  	mAvatar( avatar ),  	mUpdatesEnabled( FALSE ),  	mIsVisible( TRUE ), +	mBakedTexIndex(LLVOAvatarDefines::BAKED_HEAD),  	mInfo( NULL )  {  } @@ -1860,7 +1861,7 @@ U32 LLTexLayerTemplate::updateWearableCache()  }  LLTexLayer* LLTexLayerTemplate::getLayer(U32 i)  { -	if (mWearableCache.size() <= i || i < 0) +	if (mWearableCache.size() <= i)  	{  		return NULL;  	} diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp index 051c189013..a7f26f1df1 100644 --- a/indra/newview/lltexturecache.cpp +++ b/indra/newview/lltexturecache.cpp @@ -1617,20 +1617,20 @@ bool LLTextureCache::writeComplete(handle_t handle, bool abort)  {  	lockWorkers();  	handle_map_t::iterator iter = mWriters.find(handle); -	llassert_always(iter != mWriters.end()); -	LLTextureCacheWorker* worker = iter->second; -	if (worker->complete() || abort) -	{ -		mWriters.erase(handle); -		unlockWorkers(); -		worker->scheduleDelete(); -		return true; -	} -	else +	llassert(iter != mWriters.end()); +	if (iter != mWriters.end())  	{ -		unlockWorkers(); -		return false; +		LLTextureCacheWorker* worker = iter->second; +		if (worker->complete() || abort) +		{ +			mWriters.erase(handle); +			unlockWorkers(); +			worker->scheduleDelete(); +			return true; +		}  	} +	unlockWorkers(); +	return false;  }  void LLTextureCache::prioritizeWrite(handle_t handle) diff --git a/indra/newview/lltexturecache.h b/indra/newview/lltexturecache.h index 4203cbbc43..64ec881fc3 100644 --- a/indra/newview/lltexturecache.h +++ b/indra/newview/lltexturecache.h @@ -59,7 +59,12 @@ private:  	};  	struct Entry  	{ -		Entry() {} +        	Entry() : +		        mBodySize(0), +			mImageSize(0), +			mTime(0) +		{ +		}  		Entry(const LLUUID& id, S32 imagesize, S32 bodysize, U32 time) :  			mID(id), mImageSize(imagesize), mBodySize(bodysize), mTime(time) {}  		void init(const LLUUID& id, U32 time) { mID = id, mImageSize = 0; mBodySize = 0; mTime = time; } diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 5ce6884239..404b79bfaf 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -661,6 +661,8 @@ bool LLTextureFetchWorker::doWork(S32 param)  				}  				setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);  				mState = SEND_HTTP_REQ; +				delete responder; +				responder = NULL;  			}  		} diff --git a/indra/newview/lltoolbar.cpp b/indra/newview/lltoolbar.cpp index edbaa0d45a..e7dc7ae522 100644 --- a/indra/newview/lltoolbar.cpp +++ b/indra/newview/lltoolbar.cpp @@ -95,7 +95,10 @@ F32	LLToolBar::sInventoryAutoOpenTime = 1.f;  //  LLToolBar::LLToolBar() -:	LLPanel() +	: LLPanel(), + +	mInventoryAutoOpen(FALSE), +	mNumUnreadIMs(0)	  #if LL_DARWIN  	, mResizeHandle(NULL)  #endif // LL_DARWIN diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp index 4420b046d8..125c62474e 100644 --- a/indra/newview/lltooldraganddrop.cpp +++ b/indra/newview/lltooldraganddrop.cpp @@ -1404,18 +1404,6 @@ void LLToolDragAndDrop::dropInventory(LLViewerObject* hit_obj,  	gFloaterTools->dirty();  } -struct LLGiveInventoryInfo -{ -	LLUUID mToAgentID; -	LLUUID mInventoryObjectID; -	LLUUID mIMSessionID; -	LLGiveInventoryInfo(const LLUUID& to_agent, const LLUUID& obj_id, const LLUUID &im_session_id = LLUUID::null) : -		mToAgentID(to_agent),  -		mInventoryObjectID(obj_id), -		mIMSessionID(im_session_id) -	{} -}; -  void LLToolDragAndDrop::giveInventory(const LLUUID& to_agent,  									  LLInventoryItem* item,  									  const LLUUID& im_session_id) @@ -1584,8 +1572,6 @@ void LLToolDragAndDrop::giveInventoryCategory(const LLUUID& to_agent,  		}  		else   		{ -			LLGiveInventoryInfo* info = NULL; -			info = new LLGiveInventoryInfo(to_agent, cat->getUUID(), im_session_id);  			LLSD args;  			args["COUNT"] = llformat("%d",giveable.countNoCopy());  			LLSD payload; diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index c79a66892d..39e71974fd 100644 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -922,7 +922,7 @@ BOOL LLToolPie::handleTooltipObject( LLViewerObject* hover_object, std::string l  				const LLMediaEntry* mep = tep->hasMedia() ? tep->getMediaData() : NULL;  				if (mep)  				{ -					viewer_media_t media_impl = mep ? LLViewerMedia::getMediaImplFromTextureID(mep->getMediaID()) : NULL; +					viewer_media_t media_impl = LLViewerMedia::getMediaImplFromTextureID(mep->getMediaID());  					LLPluginClassMedia* media_plugin = NULL;  					if (media_impl.notNull() && (media_impl->hasMedia())) diff --git a/indra/newview/llviewerjoint.cpp b/indra/newview/llviewerjoint.cpp index c2591ac8d7..c425d95ff8 100644 --- a/indra/newview/llviewerjoint.cpp +++ b/indra/newview/llviewerjoint.cpp @@ -66,6 +66,7 @@ LLViewerJoint::LLViewerJoint()  	mMinPixelArea = DEFAULT_LOD;  	mPickName = PN_DEFAULT;  	mVisible = TRUE; +	mMeshID = 0;  } diff --git a/indra/newview/llviewerjointmesh.cpp b/indra/newview/llviewerjointmesh.cpp index 5b8902dec4..1a67fc0966 100644 --- a/indra/newview/llviewerjointmesh.cpp +++ b/indra/newview/llviewerjointmesh.cpp @@ -147,6 +147,7 @@ LLViewerJointMesh::LLViewerJointMesh()  	mTexture( NULL ),  	mLayerSet( NULL ),  	mTestImageName( 0 ), +	mFaceIndexCount(0),  	mIsTransparent(FALSE)  { diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 36710e7532..aa77c9602f 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1933,7 +1933,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)  			if (has_inventory)  			{ -				info = new LLOfferInfo; +				info = new LLOfferInfo();  				info->mIM = IM_GROUP_NOTICE;  				info->mFromID = from_id; @@ -1987,6 +1987,10 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)  				LLPanelGroup::showNotice(subj,mes,group_id,has_inventory,item_name,info);  			} +			else +			{ +				delete info; +			}  		}  		break;  	case IM_GROUP_INVITATION: @@ -2047,6 +2051,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)  				if (sizeof(offer_agent_bucket_t) != binary_bucket_size)  				{  					LL_WARNS("Messaging") << "Malformed inventory offer from agent" << LL_ENDL; +					delete info;  					break;  				}  				bucketp = (struct offer_agent_bucket_t*) &binary_bucket[0]; @@ -2058,6 +2063,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)  				if (sizeof(S8) != binary_bucket_size)  				{  					LL_WARNS("Messaging") << "Malformed inventory offer from object" << LL_ENDL; +					delete info;  					break;  				}  				info->mType = (LLAssetType::EType) binary_bucket[0]; diff --git a/indra/newview/llviewernetwork.cpp b/indra/newview/llviewernetwork.cpp index d7b55d7e97..987d23630a 100644 --- a/indra/newview/llviewernetwork.cpp +++ b/indra/newview/llviewernetwork.cpp @@ -169,6 +169,7 @@ void LLViewerLogin::setGridChoice(EGridInfo grid)  	if(grid < 0 || grid >= GRID_INFO_COUNT)  	{  		llerrs << "Invalid grid index specified." << llendl; +		return;  	}  	if(mGridChoice != grid || gSavedSettings.getS32("ServerChoice") != grid) diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 3c79045cc5..886f1d9ef5 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -861,6 +861,7 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,  					htonmemcpy(collision_plane.mV, &data[count], MVT_LLVector4, sizeof(LLVector4));  					((LLVOAvatar*)this)->setFootPlane(collision_plane);  					count += sizeof(LLVector4); +					// fall through  				case 60:  					this_update_precision = 32;  					// this is a terse update @@ -900,6 +901,7 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,  					htonmemcpy(collision_plane.mV, &data[count], MVT_LLVector4, sizeof(LLVector4));  					((LLVOAvatar*)this)->setFootPlane(collision_plane);  					count += sizeof(LLVector4); +					// fall through  				case 32:  					this_update_precision = 16;  					test_pos_parent.quantize16(-0.5f*size, 1.5f*size, MIN_HEIGHT, MAX_HEIGHT); @@ -1172,6 +1174,7 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,  					htonmemcpy(collision_plane.mV, &data[count], MVT_LLVector4, sizeof(LLVector4));  					((LLVOAvatar*)this)->setFootPlane(collision_plane);  					count += sizeof(LLVector4); +					// fall through  				case 60:  					// this is a terse 32 update  					// pos @@ -1211,6 +1214,7 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,  					htonmemcpy(collision_plane.mV, &data[count], MVT_LLVector4, sizeof(LLVector4));  					((LLVOAvatar*)this)->setFootPlane(collision_plane);  					count += sizeof(LLVector4); +					// fall through  				case 32:  					// this is a terse 16 update  					this_update_precision = 16; diff --git a/indra/newview/llviewerpartsim.cpp b/indra/newview/llviewerpartsim.cpp index 841a7ccc5e..6b480ccf8e 100644 --- a/indra/newview/llviewerpartsim.cpp +++ b/indra/newview/llviewerpartsim.cpp @@ -81,6 +81,7 @@ F32 calc_desired_size(LLViewerCamera* camera, LLVector3 pos, LLVector2 scale)  LLViewerPart::LLViewerPart() :  	mPartID(0),  	mLastUpdateTime(0.f), +	mSkipOffset(0.f),  	mVPCallback(NULL),  	mImagep(NULL)  { diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp index 6dc9f5c465..86b1a8c910 100644 --- a/indra/newview/llviewershadermgr.cpp +++ b/indra/newview/llviewershadermgr.cpp @@ -135,7 +135,8 @@ LLGLSLShader			gLuminanceGatherProgram;  GLint				gAvatarMatrixParam;  LLViewerShaderMgr::LLViewerShaderMgr() : -	mVertexShaderLevel(SHADER_COUNT, 0) +	mVertexShaderLevel(SHADER_COUNT, 0), +	mMaxAvatarShaderLevel(0)  {	  	/// Make sure WL Sky is the first program  	mShaderList.push_back(&gWLSkyProgram); diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index b80dc7d902..0ad269392d 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1029,6 +1029,8 @@ void LLViewerFetchedTexture::init(bool firstinit)  	// does not contain this image.  	mIsMissingAsset = FALSE; +	mLoadedCallbackDesiredDiscardLevel = 0; +  	mNeedsCreateTexture = FALSE;  	mIsRawImageValid = FALSE; @@ -1041,6 +1043,7 @@ void LLViewerFetchedTexture::init(bool firstinit)  	mFetchPriority = 0;  	mDownloadProgress = 0.f;  	mFetchDeltaTime = 999999.f; +	mRequestDeltaTime = 0.f;  	mForSculpt = FALSE ;  	mIsFetched = FALSE ; diff --git a/indra/newview/llviewervisualparam.cpp b/indra/newview/llviewervisualparam.cpp index b088ef0730..fad398e00b 100644 --- a/indra/newview/llviewervisualparam.cpp +++ b/indra/newview/llviewervisualparam.cpp @@ -46,6 +46,7 @@  LLViewerVisualParamInfo::LLViewerVisualParamInfo()  	:  	mWearableType( WT_INVALID ), +	mCrossWearable(FALSE),  	mCamDist( 0.5f ),  	mCamAngle( 0.f ),  	mCamElevation( 0.f ), diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index c1817496b1..b4c73dba26 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1659,6 +1659,9 @@ LLViewerWindow::~LLViewerWindow()  {  	llinfos << "Destroying Window" << llendl;  	destroyWindow(); + +	delete mDebugText; +	mDebugText = NULL;  } @@ -4846,10 +4849,10 @@ LLPickInfo::LLPickInfo()  }  LLPickInfo::LLPickInfo(const LLCoordGL& mouse_pos,  -						MASK keyboard_mask,  -						BOOL pick_transparent, -						BOOL pick_uv_coords, -						void (*pick_callback)(const LLPickInfo& pick_info)) +		       MASK keyboard_mask,  +		       BOOL pick_transparent, +		       BOOL pick_uv_coords, +		       void (*pick_callback)(const LLPickInfo& pick_info))  	: mMousePt(mouse_pos),  	  mKeyMask(keyboard_mask),  	  mPickCallback(pick_callback), diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index b488276a18..c0a9180b53 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -126,9 +126,6 @@ private:  	void			updateXYCoords();  	BOOL			mWantSurfaceInfo;   // do we populate mUVCoord, mNormal, mBinormal? -	U8				mPickBuffer[PICK_DIAMETER * PICK_DIAMETER * 4]; -	F32				mPickDepthBuffer[PICK_DIAMETER * PICK_DIAMETER]; -	BOOL			mPickParcelWall;  }; diff --git a/indra/newview/llviewerwindowlistener.cpp b/indra/newview/llviewerwindowlistener.cpp index de57788271..fae98cf49a 100644 --- a/indra/newview/llviewerwindowlistener.cpp +++ b/indra/newview/llviewerwindowlistener.cpp @@ -77,6 +77,7 @@ void LLViewerWindowListener::saveSnapshot(const LLSD& event) const          {              LL_ERRS("LLViewerWindowListener") << "LLViewerWindowListener::saveSnapshot(): "                                                << "unrecognized type " << event["type"] << LL_ENDL; +	    return;          }          type = found->second;      } diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 295c0c8010..bfe38c14ba 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -180,8 +180,10 @@ LLVOVolume::LLVOVolume(const LLUUID &id, const LLPCode pcode, LLViewerRegion *re  	mRelativeXform.setIdentity();  	mRelativeXformInvTrans.setIdentity(); +	mFaceMappingChanged = FALSE;  	mLOD = MIN_LOD;  	mTextureAnimp = NULL; +	mVolumeChanged = FALSE;  	mVObjRadius = LLVector3(1,1,0.5f).length();  	mNumFaces = 0;  	mLODChanged = FALSE; diff --git a/indra/newview/llwearable.cpp b/indra/newview/llwearable.cpp index b789bd3650..d093031bea 100644 --- a/indra/newview/llwearable.cpp +++ b/indra/newview/llwearable.cpp @@ -818,16 +818,13 @@ const LLLocalTextureObject* LLWearable::getConstLocalTextureObject(S32 index) co  	return NULL;  } -void LLWearable::setLocalTextureObject(S32 index, LLLocalTextureObject *lto) +void LLWearable::setLocalTextureObject(S32 index, LLLocalTextureObject <o)  {  	if( mTEMap.find(index) != mTEMap.end() )  	{  		mTEMap.erase(index);  	} -	if( lto ) -	{ -		mTEMap[index] = new LLLocalTextureObject(*lto); -	} +	mTEMap[index] = new LLLocalTextureObject(lto);  } diff --git a/indra/newview/llwearable.h b/indra/newview/llwearable.h index 7a579b248e..dae983bcf3 100644 --- a/indra/newview/llwearable.h +++ b/indra/newview/llwearable.h @@ -114,7 +114,7 @@ public:  	LLLocalTextureObject* getLocalTextureObject(S32 index);  	const LLLocalTextureObject* getConstLocalTextureObject(S32 index) const; -	void				setLocalTextureObject(S32 index, LLLocalTextureObject *lto); +	void				setLocalTextureObject(S32 index, LLLocalTextureObject <o);  	void				addVisualParam(LLVisualParam *param);  	void				setVisualParams();  	void 				setVisualParamWeight(S32 index, F32 value, BOOL upload_bake); | 
