summaryrefslogtreecommitdiff
path: root/indra/llui/llpanel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llui/llpanel.cpp')
-rw-r--r--indra/llui/llpanel.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp
index 316764474b..37feffd4b0 100644
--- a/indra/llui/llpanel.cpp
+++ b/indra/llui/llpanel.cpp
@@ -569,7 +569,7 @@ LLView* LLPanel::fromXML(LLXMLNodePtr node, LLView* parentp, LLUICtrlFactory *fa
return panelp;
}
-void LLPanel::initPanelXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
+BOOL LLPanel::initPanelXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory)
{
LLString name("panel");
node->getAttributeString("name", name);
@@ -585,12 +585,23 @@ void LLPanel::initPanelXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *f
LLString xml_filename;
node->getAttributeString("filename", xml_filename);
+
+ BOOL didPost;
+
if (!xml_filename.empty())
{
- factory->buildPanel(this, xml_filename, NULL);
+ didPost = factory->buildPanel(this, xml_filename, NULL);
+ } else {
+ didPost = FALSE;
}
- postBuild();
+ if (!didPost)
+ {
+ postBuild();
+ didPost = TRUE;
+ }
+
+ return didPost;
}
void LLPanel::setPanelParameters(LLXMLNodePtr node, LLView* parentp)