diff options
Diffstat (limited to 'indra/llui/llpanel.cpp')
-rw-r--r-- | indra/llui/llpanel.cpp | 17 |
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) |