]> git.cworth.org Git - apitrace/blobdiff - gui/saverthread.cpp
Correctly copy "out" arguments to the "leave" portion of the trace
[apitrace] / gui / saverthread.cpp
index 1773494cfd14b6f5a3ad5c9b5546b059783f5502..54ef5d24a82840b85d2d4bbf42e5e0f5df8304b1 100644 (file)
@@ -243,6 +243,11 @@ public:
         m_editedValue = new trace::Float(m_variant.toFloat());
     }
 
+    virtual void visit(trace::Double *node)
+    {
+        m_editedValue = new trace::Double(m_variant.toDouble());
+    }
+
     virtual void visit(trace::String *node)
     {
         QString str = m_variant.toString();
@@ -309,12 +314,12 @@ static void
 overwriteValue(trace::Call *call, const QVariant &val, int index)
 {
     EditVisitor visitor(val);
-    trace::Value *origValue = call->args[index];
+    trace::Value *origValue = call->args[index].value;
     origValue->visit(visitor);
 
     if (visitor.value() && origValue != visitor.value()) {
         delete origValue;
-        call->args[index] = visitor.value();
+        call->args[index].value = visitor.value();
     }
 }