From b73beb6715011ca81d8d9febb8d6f109aa9f2e4c Mon Sep 17 00:00:00 2001 From: Mm Alder Date: Sun, 3 Jan 2010 14:33:06 -0500 Subject: VWR-14475 Load from XML is broken --- linden/indra/llui/lluictrlfactory.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'linden') diff --git a/linden/indra/llui/lluictrlfactory.cpp b/linden/indra/llui/lluictrlfactory.cpp index 983cc53..0074494 100644 --- a/linden/indra/llui/lluictrlfactory.cpp +++ b/linden/indra/llui/lluictrlfactory.cpp @@ -163,20 +163,24 @@ bool LLUICtrlFactory::getLayeredXMLNode(const std::string &xui_filename, LLXMLNo std::string full_filename = gDirUtilp->findSkinnedFilename(sXUIPaths.front(), xui_filename); if (full_filename.empty()) { - llwarns << "Couldn't find UI description file: " << sXUIPaths.front() + gDirUtilp->getDirDelimiter() + xui_filename << llendl; - return false; - } - - if (!LLXMLNode::parseFile(full_filename, root, NULL)) - { // try filename as passed in since sometimes we load an xml file from a user-supplied path - if (!LLXMLNode::parseFile(xui_filename, root, NULL)) + if (gDirUtilp->fileExists(xui_filename)) { - llwarns << "Problem reading UI description file: " << xui_filename << llendl; + full_filename = xui_filename; + } + else + { + llwarns << "Couldn't find UI description file: " << sXUIPaths.front() + gDirUtilp->getDirDelimiter() + xui_filename << llendl; return false; } } + if (!LLXMLNode::parseFile(full_filename, root, NULL)) + { + llwarns << "Problem reading UI description file: " << full_filename << llendl; + return false; + } + LLXMLNodePtr updateRoot; std::vector::const_iterator itor; -- cgit v1.1