diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 2 | ||||
| -rw-r--r-- | indra/newview/llagent.cpp | 21 | ||||
| -rw-r--r-- | indra/newview/llappviewer.cpp | 13 | ||||
| -rw-r--r-- | indra/newview/llfloatermediasettings.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llfloaterpreference.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llpanelclassified.cpp | 24 | ||||
| -rw-r--r-- | indra/newview/lltexturecache.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/lltexturefetch.cpp | 26 | ||||
| -rw-r--r-- | indra/newview/lltexturefetch.h | 2 | ||||
| -rw-r--r-- | indra/newview/llvoavatarself.cpp | 18 | ||||
| -rw-r--r-- | indra/newview/llvoavatarself.h | 1 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_classified_info.xml | 53 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_region_general.xml | 45 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/fr/panel_status_bar.xml | 2 | 
14 files changed, 165 insertions, 60 deletions
| diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index a64a1a395f..8edf766132 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -4334,7 +4334,7 @@        <key>Type</key>        <string>String</string>        <key>Value</key> -      <string>home</string> +      <string>last</string>      </map>      <key>LoginPage</key>      <map> diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 1da7d450c9..c5d7f6f118 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -5845,15 +5845,22 @@ void LLAgent::processAgentCachedTextureResponse(LLMessageSystem *mesgsys, void *  		mesgsys->getUUIDFast(_PREHASH_WearableData, _PREHASH_TextureID, texture_id, texture_block);  		mesgsys->getU8Fast(_PREHASH_WearableData, _PREHASH_TextureIndex, texture_index, texture_block); -		if (texture_id.notNull()  -			&& (S32)texture_index < BAKED_NUM_INDICES  +		if ((S32)texture_index < BAKED_NUM_INDICES   			&& gAgentQueryManager.mActiveCacheQueries[texture_index] == query_id)  		{ -			//llinfos << "Received cached texture " << (U32)texture_index << ": " << texture_id << llendl; -			avatarp->setCachedBakedTexture(LLVOAvatarDictionary::bakedToLocalTextureIndex((EBakedTextureIndex)texture_index), texture_id); -			//avatarp->setTETexture( LLVOAvatar::sBakedTextureIndices[texture_index], texture_id ); -			gAgentQueryManager.mActiveCacheQueries[texture_index] = 0; -			num_results++; +			if (texture_id.notNull()) +			{ +				//llinfos << "Received cached texture " << (U32)texture_index << ": " << texture_id << llendl; +				avatarp->setCachedBakedTexture(LLVOAvatarDictionary::bakedToLocalTextureIndex((EBakedTextureIndex)texture_index), texture_id); +				//avatarp->setTETexture( LLVOAvatar::sBakedTextureIndices[texture_index], texture_id ); +				gAgentQueryManager.mActiveCacheQueries[texture_index] = 0; +				num_results++; +			} +			else +			{ +				// no cache of this bake. request upload. +				avatarp->requestLayerSetUpload((EBakedTextureIndex)texture_index); +			}  		}  	} diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 6d4c90c2b9..ccd58e26fe 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1516,7 +1516,7 @@ bool LLAppViewer::cleanup()  	LLAvatarIconIDCache::getInstance()->save();  	llinfos << "Shutting down Threads" << llendflush; -	 +  	// Let threads finish  	LLTimer idleTimer;  	idleTimer.reset(); @@ -1530,19 +1530,26 @@ bool LLAppViewer::cleanup()  		pending += LLVFSThread::updateClass(0);  		pending += LLLFSThread::updateClass(0);  		F64 idle_time = idleTimer.getElapsedTimeF64(); -		if (!pending || idle_time >= max_idle_time) +		if(!pending) +		{ +			break ; //done +		} +		else if(idle_time >= max_idle_time)  		{  			llwarns << "Quitting with pending background tasks." << llendl;  			break;  		}  	} -	 +  	// Delete workers first  	// shotdown all worker threads before deleting them in case of co-dependencies  	sTextureCache->shutdown();  	sTextureFetch->shutdown();  	sImageDecodeThread->shutdown(); +	sTextureFetch->shutDownTextureCacheThread() ; +	sTextureFetch->shutDownImageDecodeThread() ; +  	delete sTextureCache;      sTextureCache = NULL;  	delete sTextureFetch; diff --git a/indra/newview/llfloatermediasettings.cpp b/indra/newview/llfloatermediasettings.cpp index 62ec17f89a..ee68faf84b 100644 --- a/indra/newview/llfloatermediasettings.cpp +++ b/indra/newview/llfloatermediasettings.cpp @@ -242,6 +242,12 @@ void LLFloaterMediaSettings::onBtnApply( void* userdata )  	sInstance->commitFields();  	sInstance->apply(); + +	sInstance->mInitialValues.clear(); +	sInstance->mPanelMediaSettingsGeneral->getValues( sInstance->mInitialValues ); +	sInstance->mPanelMediaSettingsSecurity->getValues( sInstance->mInitialValues ); +	sInstance->mPanelMediaSettingsPermissions->getValues( sInstance->mInitialValues ); +  }  //////////////////////////////////////////////////////////////////////////////// diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 839d3f0c21..8bffe9bf57 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -537,10 +537,10 @@ void LLFloaterPreference::onOpen(const LLSD& key)  	{  		childSetText("maturity_desired_textbox",  maturity_combo->getSelectedItemLabel());  		childSetVisible("maturity_desired_combobox", false); - -		// Display selected maturity icons. -		onChangeMaturity();  	} + +	// Display selected maturity icons. +	onChangeMaturity();  	// Enabled/disabled popups, might have been changed by user actions  	// while preferences floater was closed. diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp index d59a7d752e..9f24ddc799 100644 --- a/indra/newview/llpanelclassified.cpp +++ b/indra/newview/llpanelclassified.cpp @@ -1299,7 +1299,10 @@ void LLPanelClassifiedInfo::processProperties(void* data, EAvatarProcessorType t  			bool mature = is_cf_mature(c_info->flags);  			childSetValue("content_type", mature ? mature_str : pg_str); -			childSetValue("auto_renew", is_cf_auto_renew(c_info->flags)); + +			std::string auto_renew_str = is_cf_auto_renew(c_info->flags) ?  +				getString("auto_renew_on") : getString("auto_renew_off"); +			childSetValue("auto_renew", auto_renew_str);  			price_str.setArg("[PRICE]", llformat("%d", c_info->price_for_listing));  			childSetValue("price_for_listing", LLSD(price_str)); @@ -1321,8 +1324,12 @@ void LLPanelClassifiedInfo::resetData()  	setClassifiedId(LLUUID::null);  	setSnapshotId(LLUUID::null);  	mPosGlobal.clearVec(); -	childSetValue("category", LLStringUtil::null); -	childSetValue("content_type", LLStringUtil::null); +	childSetText("category", LLStringUtil::null); +	childSetText("content_type", LLStringUtil::null); +	childSetText("click_through_text", LLStringUtil::null); +	childSetText("price_for_listing", LLStringUtil::null); +	childSetText("auto_renew", LLStringUtil::null); +	childSetText("creation_date", LLStringUtil::null);  	childSetText("click_through_text", LLStringUtil::null);  } @@ -1689,7 +1696,8 @@ void LLPanelClassifiedEdit::processProperties(void* data, EAvatarProcessorType t  			setPosGlobal(c_info->pos_global);  			setClassifiedLocation(createLocationText(c_info->parcel_name, c_info->sim_name, c_info->pos_global)); -			getChild<LLComboBox>("category")->setCurrentByIndex(c_info->category + 1); +			// *HACK see LLPanelClassifiedEdit::sendUpdate() +			getChild<LLComboBox>("category")->setCurrentByIndex(c_info->category - 1);  			getChild<LLComboBox>("category")->resetDirty();  			bool mature = is_cf_mature(c_info->flags); @@ -1698,6 +1706,7 @@ void LLPanelClassifiedEdit::processProperties(void* data, EAvatarProcessorType t  			getChild<LLComboBox>("content_type")->setCurrentByIndex(mature ? CB_ITEM_MATURE : CB_ITEM_PG);  			childSetValue("auto_renew", auto_renew);  			childSetValue("price_for_listing", c_info->price_for_listing); +			childSetEnabled("price_for_listing", isNew());  			resetDirty();  			setInfoLoaded(true); @@ -1756,6 +1765,7 @@ void LLPanelClassifiedEdit::resetControls()  	getChild<LLComboBox>("content_type")->setCurrentByIndex(0);  	childSetValue("auto_renew", false);  	childSetValue("price_for_listing", MINIMUM_PRICE_FOR_LISTING); +	childSetEnabled("price_for_listing", TRUE);  }  bool LLPanelClassifiedEdit::canClose() @@ -1792,7 +1802,9 @@ void LLPanelClassifiedEdit::sendUpdate()  	c_data.agent_id = gAgent.getID();  	c_data.classified_id = getClassifiedId(); -	c_data.category = getCategory(); +	// *HACK  +	// Categories on server start with 1 while combo-box index starts with 0 +	c_data.category = getCategory() + 1;  	c_data.name = getClassifiedName();  	c_data.description = getDescription();  	c_data.parcel_id = getParcelId(); @@ -1807,7 +1819,7 @@ void LLPanelClassifiedEdit::sendUpdate()  U32 LLPanelClassifiedEdit::getCategory()  {  	LLComboBox* cat_cb = getChild<LLComboBox>("category"); -	return cat_cb->getCurrentIndex() + 1; +	return cat_cb->getCurrentIndex();  }  U8 LLPanelClassifiedEdit::getFlags() diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp index 91c303c79e..3116c8feb0 100644 --- a/indra/newview/lltexturecache.cpp +++ b/indra/newview/lltexturecache.cpp @@ -750,6 +750,7 @@ LLTextureCache::LLTextureCache(bool threaded)  LLTextureCache::~LLTextureCache()  { +	clearDeleteList() ;  }  ////////////////////////////////////////////////////////////////////////////// @@ -1574,6 +1575,11 @@ bool LLTextureCache::readComplete(handle_t handle, bool abort)  	{  		worker = iter->second;  		complete = worker->complete(); + +		if(!complete && abort) +		{ +			abortRequest(handle, true) ; +		}  	}  	if (worker && (complete || abort))  	{ diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 0053ce8df8..b1b3ae473c 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -431,11 +431,11 @@ LLTextureFetchWorker::~LLTextureFetchWorker()  // 			<< " Desired=" << mDesiredDiscard << llendl;  	llassert_always(!haveWork());  	lockWorkMutex(); -	if (mCacheReadHandle != LLTextureCache::nullHandle()) +	if (mCacheReadHandle != LLTextureCache::nullHandle() && mFetcher->mTextureCache)  	{  		mFetcher->mTextureCache->readComplete(mCacheReadHandle, true);  	} -	if (mCacheWriteHandle != LLTextureCache::nullHandle()) +	if (mCacheWriteHandle != LLTextureCache::nullHandle() && mFetcher->mTextureCache)  	{  		mFetcher->mTextureCache->writeComplete(mCacheWriteHandle, true);  	} @@ -1429,6 +1429,8 @@ LLTextureFetch::LLTextureFetch(LLTextureCache* cache, LLImageDecodeThread* image  LLTextureFetch::~LLTextureFetch()  { +	clearDeleteList() ; +  	// ~LLQueuedThread() called here  } @@ -1737,6 +1739,26 @@ S32 LLTextureFetch::update(U32 max_time_ms)  	return res;  } +//called in the MAIN thread after the TextureCacheThread shuts down. +void LLTextureFetch::shutDownTextureCacheThread()  +{ +	if(mTextureCache) +	{ +		llassert_always(mTextureCache->isQuitting() || mTextureCache->isStopped()) ; +		mTextureCache = NULL ; +	} +} +	 +//called in the MAIN thread after the ImageDecodeThread shuts down. +void LLTextureFetch::shutDownImageDecodeThread()  +{ +	if(mImageDecodeThread) +	{ +		llassert_always(mImageDecodeThread->isQuitting() || mImageDecodeThread->isStopped()) ; +		mImageDecodeThread = NULL ; +	} +} +  // WORKER THREAD  void LLTextureFetch::startThread()  { diff --git a/indra/newview/lltexturefetch.h b/indra/newview/lltexturefetch.h index 5213c4f488..ef2ec520bf 100644 --- a/indra/newview/lltexturefetch.h +++ b/indra/newview/lltexturefetch.h @@ -58,6 +58,8 @@ public:  	~LLTextureFetch();  	/*virtual*/ S32 update(U32 max_time_ms);	 +	void shutDownTextureCacheThread() ; //called in the main thread after the TextureCacheThread shuts down. +	void shutDownImageDecodeThread() ;  //called in the main thread after the ImageDecodeThread shuts down.  	bool createRequest(const std::string& url, const LLUUID& id, const LLHost& host, F32 priority,  					   S32 w, S32 h, S32 c, S32 discard, bool needs_aux); diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index acd12099cd..7dc8772753 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -1292,19 +1292,23 @@ BOOL LLVOAvatarSelf::isTextureDefined(LLVOAvatarDefines::ETextureIndex type, U32  }  //----------------------------------------------------------------------------- -// virtual  // requestLayerSetUploads()  //-----------------------------------------------------------------------------  void LLVOAvatarSelf::requestLayerSetUploads()  {  	for (U32 i = 0; i < mBakedTextureDatas.size(); i++)  	{ -		ETextureIndex tex_index = mBakedTextureDatas[i].mTextureIndex; -		BOOL layer_baked = isTextureDefined(tex_index, gAgentWearables.getWearableCount(tex_index)); -		if (!layer_baked && mBakedTextureDatas[i].mTexLayerSet) -		{ -			mBakedTextureDatas[i].mTexLayerSet->requestUpload(); -		} +		requestLayerSetUpload((EBakedTextureIndex)i); +	} +} + +void LLVOAvatarSelf::requestLayerSetUpload(LLVOAvatarDefines::EBakedTextureIndex i) +{ +	ETextureIndex tex_index = mBakedTextureDatas[i].mTextureIndex; +	bool  layer_baked = isTextureDefined(tex_index, gAgentWearables.getWearableCount(tex_index)); +	if (!layer_baked && mBakedTextureDatas[i].mTexLayerSet) +	{ +		mBakedTextureDatas[i].mTexLayerSet->requestUpload();  	}  } diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h index dc70996f0b..df3493c434 100644 --- a/indra/newview/llvoavatarself.h +++ b/indra/newview/llvoavatarself.h @@ -222,6 +222,7 @@ protected:  	//--------------------------------------------------------------------  public:  	void 				requestLayerSetUploads(); +	void				requestLayerSetUpload(LLVOAvatarDefines::EBakedTextureIndex i);  	void				requestLayerSetUpdate(LLVOAvatarDefines::ETextureIndex i);  	LLTexLayerSet*		getLayerSet(LLVOAvatarDefines::ETextureIndex index) const; diff --git a/indra/newview/skins/default/xui/en/panel_classified_info.xml b/indra/newview/skins/default/xui/en/panel_classified_info.xml index 932e34d694..1535ce2978 100644 --- a/indra/newview/skins/default/xui/en/panel_classified_info.xml +++ b/indra/newview/skins/default/xui/en/panel_classified_info.xml @@ -30,6 +30,14 @@    name="date_fmt">      [mthnum,datetime,slt]/[day,datetime,slt]/[year,datetime,slt]   </panel.string> + <panel.string +  name="auto_renew_on"> +    Enabled + </panel.string> + <panel.string +  name="auto_renew_off"> +    Disabled + </panel.string>      <button       follows="top|right"       height="23" @@ -127,7 +135,7 @@           bg_visible="false"           follows="left|top"           h_pad="0" -         height="25" +         height="30"           layout="topleft"           left="10"           name="classified_location" @@ -246,21 +254,21 @@           animate="false"           name="descr_stack"           layout="topleft" -         follows="top|left" +         follows="all"           orientation="vertical"           left="10"           top_pad="5"           width="290" -         height="250"> +         height="215">           <layout_panel            auto_resize="false"            name="clickthrough_layout_panel"            layout="topleft" -          follows="top|left" +          follows="all"            left="0"            top="0"            width="290" -          height="26" +          height="16"            user_resize="false">          <text           follows="left|top" @@ -294,28 +302,37 @@            auto_resize="false"            name="price_layout_panel"            layout="topleft" -          follows="top|left" +          follows="all"            left="0"            top="0"            width="290" -          height="26" +          height="16"            user_resize="false"> -        <check_box -         enabled="false" +        <text +         follows="left|top" +         font.style="BOLD" +         height="10" +         layout="topleft" +         left="0" +         name="auto_renew_label" +         text_color="white" +         top="0" +         value="Auto renew:" +         width="140" /> +         <text           height="16" -         label="Auto renew each week"           layout="topleft"           follows="top|left" -         left="0" +         left_pad="0"           name="auto_renew" -         top="0" -         v_pad="0" -         width="290" /> +         top_pad="-10" +         value="Enabled"  +         width="150" />           </layout_panel>           <layout_panel            name="descr_layout_panel"            layout="topleft" -          follows="top|left" +          follows="all"            left="0"            top="0"            width="290" @@ -337,7 +354,7 @@           allow_html="true"           allow_scroll="true"           bg_visible="false" -         follows="left|top|right" +         follows="all"           h_pad="0"           height="200"           layout="topleft" @@ -345,8 +362,8 @@           max_length="1023"           name="classified_desc"           read_only="true" -         top_pad="5" -         width="290" +         top_pad="7" +         width="280"           v_pad="0"           value="[description]"           word_wrap="true" /> diff --git a/indra/newview/skins/default/xui/en/panel_region_general.xml b/indra/newview/skins/default/xui/en/panel_region_general.xml index 1bbe9d80c0..4acfa42c23 100644 --- a/indra/newview/skins/default/xui/en/panel_region_general.xml +++ b/indra/newview/skins/default/xui/en/panel_region_general.xml @@ -171,27 +171,48 @@       width="100">          Rating:      </text> -    <combo_box +    <icons_combo_box +     follows="left|top"       height="20"       label="Moderate"       layout="topleft"       left_delta="100"       name="access_combo"       top_delta="0" -     width="85"> -        <combo_box.item +     width="105"> +        <icons_combo_box.drop_down_button +         image_overlay="Parcel_M_Light" +         image_overlay_alignment="left" +         imgoverlay_label_space="3" +         pad_left="3"/> +        <icons_combo_box.item           label="Adult" -         name="Adult" -         value="42" /> -        <combo_box.item +         value="42"> +            <item.columns +             halign="center" +             type="icon" +             value="Parcel_R_Light" +             width="20"/> +          </icons_combo_box.item> +        <icons_combo_box.item           label="Moderate" -         name="Mature" -         value="21" /> -        <combo_box.item +         value="21"> +            <item.columns +             halign="center" +             type="icon" +             value="Parcel_M_Light" +             width="20"/> +        </icons_combo_box.item> +        <icons_combo_box.item           label="General" -         name="PG" -         value="13" /> -    </combo_box> +         value="13"> +            <item.columns +             halign="center" +             type="icon" +             value="Parcel_PG_Light" +             width="20"/> +        </icons_combo_box.item> +    </icons_combo_box>      <button       enabled="false"       follows="left|top" diff --git a/indra/newview/skins/default/xui/fr/panel_status_bar.xml b/indra/newview/skins/default/xui/fr/panel_status_bar.xml index 657bf792cf..b9bc1dd9d8 100644 --- a/indra/newview/skins/default/xui/fr/panel_status_bar.xml +++ b/indra/newview/skins/default/xui/fr/panel_status_bar.xml @@ -21,7 +21,7 @@  	<panel.string name="buycurrencylabel">  		[AMT] L$  	</panel.string> -	<button label="" label_selected="" name="buycurrency" tool_tip="Mon solde"/> +	<button label="" label_selected="" name="buycurrency" right="-250" tool_tip="Mon solde"/>  	<button label="Acheter" name="buyL" tool_tip="Cliquez pour acheter plus de L$"/>  	<text name="TimeText" tool_tip="Heure actuelle (Pacifique)">  		00h00 PST | 
