[TD]fix #9265 - memory leak in cosmetic features

This commit is contained in:
wandererfan
2023-07-17 14:23:22 -04:00
committed by WandererFan
parent e82fd8d3fd
commit b1e03c2292
3 changed files with 36 additions and 8 deletions

View File

@@ -55,8 +55,6 @@ PropertyCosmeticEdgeList::~PropertyCosmeticEdgeList()
void PropertyCosmeticEdgeList::setSize(int newSize)
{
// for (unsigned int i = newSize; i < _lValueList.size(); i++)
// delete _lValueList[i];
_lValueList.resize(newSize);
}
@@ -69,6 +67,7 @@ int PropertyCosmeticEdgeList::getSize() const
//_lValueList is not const. so why do we pass a const parameter?
void PropertyCosmeticEdgeList::setValue(CosmeticEdge* lValue)
{
// Base::Console().Message("PCEL::setValue() - current values: %d lValue: %s\n", _lValueList.size(), lValue ? "valid" : "null");
if (lValue) {
aboutToSetValue();
_lValueList.resize(1);
@@ -79,10 +78,13 @@ void PropertyCosmeticEdgeList::setValue(CosmeticEdge* lValue)
void PropertyCosmeticEdgeList::setValues(const std::vector<CosmeticEdge*>& lValue)
{
// Base::Console().Message("PCEL::seValues() - in values: %d current values: %d\n", lValue.size(), _lValueList.size());
aboutToSetValue();
_lValueList.resize(lValue.size());
for (unsigned int i = 0; i < lValue.size(); i++)
_lValueList[i] = lValue[i];
if (!lValue.empty()) {
for (unsigned int i = 0; i < lValue.size(); i++)
_lValueList[i] = lValue[i];
}
hasSetValue();
}