diff options
| -rw-r--r-- | indra/llui/lluictrlfactory.cpp | 26 | ||||
| -rw-r--r-- | indra/newview/lloutfitgallery.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/lltexturectrl.cpp | 12 | ||||
| -rw-r--r-- | indra/newview/lltexturectrl.h | 2 | ||||
| -rw-r--r-- | indra/newview/llviewermenu.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/notifications.xml | 1 | 
6 files changed, 34 insertions, 14 deletions
diff --git a/indra/llui/lluictrlfactory.cpp b/indra/llui/lluictrlfactory.cpp index 4cc7da1267..fdefae01b1 100644 --- a/indra/llui/lluictrlfactory.cpp +++ b/indra/llui/lluictrlfactory.cpp @@ -92,15 +92,27 @@ void LLUICtrlFactory::loadWidgetTemplate(const std::string& widget_tag, LLInitPa  {  	std::string filename = gDirUtilp->add("widgets", widget_tag + ".xml");  	LLXMLNodePtr root_node; +	std::vector<std::string> search_paths = +		gDirUtilp->findSkinnedFilenames(LLDir::XUI, filename); -	// Here we're looking for the "en" version, the default-language version -	// of the file, rather than the localized version. -	std::string full_filename = gDirUtilp->findSkinnedFilenameBaseLang(LLDir::XUI, filename); -	if (!full_filename.empty()) +	if (search_paths.empty())  	{ -		LLUICtrlFactory::instance().pushFileName(full_filename); -		LLSimpleXUIParser parser; -		parser.readXUI(full_filename, block); +		return; +	} + +	// "en" version, the default-language version of the file. +	std::string base_filename = search_paths.front(); +	if (!base_filename.empty()) +	{ +		LLUICtrlFactory::instance().pushFileName(base_filename); + +		if (!LLXMLNode::getLayeredXMLNode(root_node, search_paths)) +		{ +			LL_WARNS() << "Couldn't parse widget from: " << base_filename << LL_ENDL; +			return; +		} +		LLXUIParser parser; +		parser.readXUI(root_node, block, base_filename);  		LLUICtrlFactory::instance().popFileName();  	}  } diff --git a/indra/newview/lloutfitgallery.cpp b/indra/newview/lloutfitgallery.cpp index 8887a61857..eeeb7e5c25 100644 --- a/indra/newview/lloutfitgallery.cpp +++ b/indra/newview/lloutfitgallery.cpp @@ -1194,7 +1194,7 @@ void LLOutfitGallery::onTexturePickerCommit(LLTextureCtrl::ETexturePickOp op, LL          }          else          { -            image_item_id = floaterp->findItemID(floaterp->getAssetID(), FALSE); +            image_item_id = floaterp->findItemID(floaterp->getAssetID(), FALSE, TRUE);              if (image_item_id.isNull())              {                  LL_WARNS() << "id or image_item_id is NULL!" << LL_ENDL; diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index c159830c22..c7adaa908f 100644 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -564,7 +564,7 @@ void LLFloaterTexturePicker::draw()  	}  } -const LLUUID& LLFloaterTexturePicker::findItemID(const LLUUID& asset_id, BOOL copyable_only) +const LLUUID& LLFloaterTexturePicker::findItemID(const LLUUID& asset_id, BOOL copyable_only, BOOL ignore_library)  {  	LLViewerInventoryCategory::cat_array_t cats;  	LLViewerInventoryItem::item_array_t items; @@ -584,7 +584,10 @@ const LLUUID& LLFloaterTexturePicker::findItemID(const LLUUID& asset_id, BOOL co  			LLPermissions item_permissions = itemp->getPermissions();  			if (item_permissions.allowCopyBy(gAgent.getID(), gAgent.getGroupID()))  			{ -				return itemp->getUUID(); +				if(!ignore_library || !gInventory.isObjectDescendentOf(itemp->getUUID(),gInventory.getLibraryRootFolderID())) +				{ +					return itemp->getUUID(); +				}  			}  		}  		// otherwise just return first instance, unless copyable requested @@ -594,7 +597,10 @@ const LLUUID& LLFloaterTexturePicker::findItemID(const LLUUID& asset_id, BOOL co  		}  		else  		{ -			return items[0]->getUUID(); +			if(!ignore_library || !gInventory.isObjectDescendentOf(items[0]->getUUID(),gInventory.getLibraryRootFolderID())) +			{ +				return items[0]->getUUID(); +			}  		}  	} diff --git a/indra/newview/lltexturectrl.h b/indra/newview/lltexturectrl.h index 61f99de5c0..840feddfaf 100644 --- a/indra/newview/lltexturectrl.h +++ b/indra/newview/lltexturectrl.h @@ -278,7 +278,7 @@ public:  	void setImageID(const LLUUID& image_asset_id, bool set_selection = true);  	void updateImageStats();  	const LLUUID&	getAssetID() { return mImageAssetID; } -	const LLUUID&	findItemID(const LLUUID& asset_id, BOOL copyable_only); +	const LLUUID&	findItemID(const LLUUID& asset_id, BOOL copyable_only, BOOL ignore_library = FALSE);  	void			setCanApplyImmediately(BOOL b);  	void			setActive(BOOL active); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 39c692f4a7..24df985e3a 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -1213,14 +1213,15 @@ class LLAdvancedToggleWireframe : public view_listener_t  	bool handleEvent(const LLSD& userdata)  	{  		gUseWireframe = !(gUseWireframe); +		gWindowResized = TRUE; + +		LLPipeline::updateRenderDeferred();  		if (gUseWireframe)  		{  			gInitialDeferredModeForWireframe = LLPipeline::sRenderDeferred;  		} -		gWindowResized = TRUE; -		LLPipeline::updateRenderDeferred();  		gPipeline.resetVertexBuffers();  		if (!gUseWireframe && !gInitialDeferredModeForWireframe && LLPipeline::sRenderDeferred != gInitialDeferredModeForWireframe && gPipeline.isInit()) diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index db90e6a163..6f959cc484 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -6164,6 +6164,7 @@ Link to this from a web page to give others easy access to this location, or try     icon="alertmodal.tga"     name="WLSavePresetAlert"     type="alertmodal"> +   <unique/>  Do you wish to overwrite the saved preset?      <tag>confirm</tag>      <usetemplate  | 
