]> git.cworth.org Git - apitrace/blobdiff - common/trace_model.cpp
eglretrace: Fix window size hints problem.
[apitrace] / common / trace_model.cpp
index 88061f0b3d7beaca3593e52c77f9744fce54058d..3f19bc6c60b27c43f82f66acd976fdee364871dc 100644 (file)
@@ -74,27 +74,16 @@ Blob::~Blob() {
 
 StackFrame::~StackFrame() {
     if (module != NULL) {
-        delete module;
+        delete [] module;
     }
     if (function != NULL) {
-        delete function;
+        delete [] function;
     }
     if (filename != NULL) {
-        delete filename;
-    }
-    if (linenumber != NULL) {
-        delete linenumber;
-    }
-    if (offset != NULL) {
-        delete offset;
+        delete [] filename;
     }
 }
 
-Backtrace::~Backtrace() {
-    for (int i = 0; i < frames.size(); i++) {
-        delete frames[i];
-    }
-}
 
 // bool cast
 bool Null   ::toBool(void) const { return false; }
@@ -199,9 +188,6 @@ void Blob   ::visit(Visitor &visitor) { visitor.visit(this); }
 void Pointer::visit(Visitor &visitor) { visitor.visit(this); }
 void Repr   ::visit(Visitor &visitor) { visitor.visit(this); }
 
-void Backtrace::addFrame(StackFrame* frame) {
-    frames.push_back(frame);
-}
 
 void Visitor::visit(Null *) { assert(0); }
 void Visitor::visit(Bool *) { assert(0); }
@@ -224,7 +210,7 @@ void Visitor::visit(StackFrame *) { assert(0); }
 static Null null;
 
 const Value & Value::operator[](size_t index) const {
-    const Array *array = dynamic_cast<const Array *>(this);
+    const Array *array = toArray();
     if (array) {
         if (index < array->values.size()) {
             return *array->values[index];