X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fsaverthread.cpp;h=4ad83c5876c5caf1267d80cc8c8029bdc18b7c93;hb=7a9fb5103e052150232b64cb5d99374cda3f1234;hp=fc6a023ef908ac6b5375dce2e173d98b86491000;hpb=d559f02eff13e695d0005251dea3e920b20ded65;p=apitrace diff --git a/gui/saverthread.cpp b/gui/saverthread.cpp index fc6a023..4ad83c5 100644 --- a/gui/saverthread.cpp +++ b/gui/saverthread.cpp @@ -247,7 +247,10 @@ public: 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) @@ -273,7 +276,6 @@ public: 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 @@ -282,7 +284,7 @@ public: return; } - newArray->values.push_back(visitor.value()); + newArray->values[i] = visitor.value(); } m_editedValue = newArray; }