summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2012-10-11 19:02:21 -0400
committerNat Goodspeed <nat@lindenlab.com>2012-10-11 19:02:21 -0400
commit949e18d98ad272562628894f4102d3a4314ed7b0 (patch)
tree1ecdaf0aaab82c409a51bf78719366fd9ffce4ef /indra
parentfdb0e001f70f40267fa5b42e2d97b7128918b5ad (diff)
parent9e4927ece5448c94bc3f46f7be019c0ffe14a686 (diff)
Merge revised viewer_manifest.py rename logic
Diffstat (limited to 'indra')
-rw-r--r--indra/llui/lltransutil.cpp20
-rw-r--r--indra/llxml/llxmlnode.cpp3
2 files changed, 18 insertions, 5 deletions
diff --git a/indra/llui/lltransutil.cpp b/indra/llui/lltransutil.cpp
index 58fa8a0828..97a72b55e1 100644
--- a/indra/llui/lltransutil.cpp
+++ b/indra/llui/lltransutil.cpp
@@ -31,15 +31,27 @@
#include "lltrans.h"
#include "lluictrlfactory.h"
#include "llxmlnode.h"
-
+#include "lldir.h"
bool LLTransUtil::parseStrings(const std::string& xml_filename, const std::set<std::string>& default_args)
{
+ // LLUICtrlFactory::getLayeredXMLNode() just calls
+ // gDirUtilp->findSkinnedFilenames(merge=false) and then passes the
+ // resulting paths to LLXMLNode::getLayeredXMLNode(). Bypass that and call
+ // LLXMLNode::getLayeredXMLNode() directly: we want merge=true.
+ std::vector<std::string> paths =
+ gDirUtilp->findSkinnedFilenames(LLDir::XUI, xml_filename, true);
+ if (paths.empty())
+ {
+ // xml_filename not found at all in any skin -- check whether entire
+ // path was passed (but I hope we no longer have callers who do that)
+ paths.push_back(xml_filename);
+ }
LLXMLNodePtr root;
- BOOL success = LLUICtrlFactory::getLayeredXMLNode(xml_filename, root);
+ bool success = LLXMLNode::getLayeredXMLNode(root, paths);
if (!success)
{
- llerrs << "Couldn't load string table" << llendl;
+ llerrs << "Couldn't load string table " << xml_filename << llendl;
return false;
}
@@ -54,7 +66,7 @@ bool LLTransUtil::parseLanguageStrings(const std::string& xml_filename)
if (!success)
{
- llerrs << "Couldn't load string table " << xml_filename << llendl;
+ llerrs << "Couldn't load localization table " << xml_filename << llendl;
return false;
}
diff --git a/indra/llxml/llxmlnode.cpp b/indra/llxml/llxmlnode.cpp
index 2ffb0d8503..b775249219 100644
--- a/indra/llxml/llxmlnode.cpp
+++ b/indra/llxml/llxmlnode.cpp
@@ -897,7 +897,8 @@ bool LLXMLNode::getLayeredXMLNode(LLXMLNodePtr& root,
std::vector<std::string>::const_iterator itor;
- for (itor = paths.begin(), ++itor; itor != paths.end(); ++itor)
+ // We've already dealt with the first item, skip that one
+ for (itor = paths.begin() + 1; itor != paths.end(); ++itor)
{
std::string layer_filename = *itor;
if(layer_filename.empty() || layer_filename == filename)