virtual void visit(trace::String *node)
{
QString str = m_variant.toString();
- m_editedValue = new trace::String(str.toLocal8Bit().constData());
+ char *newString = new char[str.length() + 1];
+ QByteArray ba = str.toLocal8Bit();
+ strcpy(newString, ba.constData());
+ m_editedValue = new trace::String(newString);
}
virtual void visit(trace::Enum *e)
trace::Array *newArray = new trace::Array(vals.count());
for (int i = 0; i < vals.count(); ++i) {
EditVisitor visitor(vals[i]);
-
array->values[i]->visit(visitor);
if (array->values[i] == visitor.value()) {
//non-editabled
return;
}
- newArray->values.push_back(visitor.value());
+ newArray->values[i] = visitor.value();
}
m_editedValue = newArray;
}