summaryrefslogtreecommitdiff
path: root/indra/llxml
diff options
context:
space:
mode:
authorAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-11-25 22:34:59 +0200
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-11-25 22:34:59 +0200
commita58abdac5fd642ee320345bd1eef0df253895dba (patch)
treec71007ccb2746b7bef7949c2c978cbfe768392ce /indra/llxml
parent624eaf59a02dbd2f002fb45af01bbc17f04f8331 (diff)
parent9fe788e031e83aa6bfbb7bc9144079d2814018e8 (diff)
Merge branch develop into project/fonts-update
# Conflicts: # indra/llrender/llfontfreetype.cpp
Diffstat (limited to 'indra/llxml')
-rw-r--r--indra/llxml/llcontrol.cpp3
-rw-r--r--indra/llxml/llxmlnode.cpp7
-rw-r--r--indra/llxml/llxmltree.cpp13
3 files changed, 15 insertions, 8 deletions
diff --git a/indra/llxml/llcontrol.cpp b/indra/llxml/llcontrol.cpp
index bb590ebd76..562a30e8d1 100644
--- a/indra/llxml/llcontrol.cpp
+++ b/indra/llxml/llcontrol.cpp
@@ -157,6 +157,9 @@ LLControlVariable::LLControlVariable(const std::string& name, eControlType type,
{
if ((persist != PERSIST_NO) && mComment.empty())
{
+ // File isn't actually missing, but something is wrong with it
+ // so the main point is to warn user to reinstall
+ LLError::LLUserWarningMsg::showMissingFiles();
LL_ERRS() << "Must supply a comment for control " << mName << LL_ENDL;
}
//Push back versus setValue'ing here, since we don't want to call a signal yet
diff --git a/indra/llxml/llxmlnode.cpp b/indra/llxml/llxmlnode.cpp
index 92bcb1a2ae..6bdc886319 100644
--- a/indra/llxml/llxmlnode.cpp
+++ b/indra/llxml/llxmlnode.cpp
@@ -306,6 +306,7 @@ void LLXMLNode::addChild(LLXMLNodePtr& new_child)
// virtual
LLXMLNodePtr LLXMLNode::createChild(const char* name, bool is_attribute)
{
+ // Todo: validate to make sure node name is valid? (no spaces, etc)
return createChild(gStringTable.addStringEntry(name), is_attribute);
}
@@ -1281,7 +1282,7 @@ bool LLXMLNode::getAttributeU8(const char* name, U8& value )
bool LLXMLNode::getAttributeS8(const char* name, S8& value )
{
LLXMLNodePtr node;
- S32 val;
+ S32 val{};
if (!(getAttribute(name, node) && node->getIntValue(1, &val)))
{
return false;
@@ -1293,7 +1294,7 @@ bool LLXMLNode::getAttributeS8(const char* name, S8& value )
bool LLXMLNode::getAttributeU16(const char* name, U16& value )
{
LLXMLNodePtr node;
- U32 val;
+ U32 val{};
if (!(getAttribute(name, node) && node->getUnsignedValue(1, &val)))
{
return false;
@@ -1305,7 +1306,7 @@ bool LLXMLNode::getAttributeU16(const char* name, U16& value )
bool LLXMLNode::getAttributeS16(const char* name, S16& value )
{
LLXMLNodePtr node;
- S32 val;
+ S32 val{};
if (!(getAttribute(name, node) && node->getIntValue(1, &val)))
{
return false;
diff --git a/indra/llxml/llxmltree.cpp b/indra/llxml/llxmltree.cpp
index 164b3156e1..d66544d0f8 100644
--- a/indra/llxml/llxmltree.cpp
+++ b/indra/llxml/llxmltree.cpp
@@ -108,12 +108,15 @@ LLXmlTreeNode::LLXmlTreeNode( const std::string& name, LLXmlTreeNode* parent, LL
LLXmlTreeNode::~LLXmlTreeNode()
{
- attribute_map_t::iterator iter;
- for (iter=mAttributes.begin(); iter != mAttributes.end(); iter++)
- delete iter->second;
- for(LLXmlTreeNode* node : mChildren)
+ for (auto& attr : mAttributes)
+ {
+ delete attr.second;
+ }
+ mAttributes.clear();
+
+ for (auto& child : mChildren)
{
- delete node;
+ delete child;
}
mChildren.clear();
}