Index: src/utils/debugger/SkDebugCanvas.cpp |
diff --git a/src/utils/debugger/SkDebugCanvas.cpp b/src/utils/debugger/SkDebugCanvas.cpp |
index f2f92b8492bff3de5ebd9c3cb1e2ae538fa947a8..7a1c3b3a4b5306eceda4a8e63d081e19fc5648ad 100644 |
--- a/src/utils/debugger/SkDebugCanvas.cpp |
+++ b/src/utils/debugger/SkDebugCanvas.cpp |
@@ -388,25 +388,24 @@ SkTDArray <SkDrawCommand*>& SkDebugCanvas::getDrawCommands() { |
return fCommandVector; |
} |
-// TODO(chudy): Free command string memory. |
-SkTArray<SkString>* SkDebugCanvas::getDrawCommandsAsStrings() const { |
- SkTArray<SkString>* commandString = new SkTArray<SkString>(fCommandVector.count()); |
+void SkDebugCanvas::getDrawCommandsAsStrings(SkTArray<SkString>* outCommands) const { |
+ outCommands->resize_back(fCommandVector.count()); |
if (!fCommandVector.isEmpty()) { |
for (int i = 0; i < fCommandVector.count(); i ++) { |
- commandString->push_back() = fCommandVector[i]->toString(); |
+ (*outCommands)[i] = fCommandVector[i]->toString(); |
} |
} |
robertphillips
2014/12/22 15:25:36
else {
outCommands->reset();
}
??
Kimmo Kinnunen
2014/12/29 07:23:13
it tried to do that with resize_back(count), in ca
|
- return commandString; |
} |
-SkTDArray<size_t>* SkDebugCanvas::getDrawCommandOffsets() const { |
- SkTDArray<size_t>* commandOffsets = new SkTDArray<size_t>; |
+void SkDebugCanvas::getDrawCommandOffsets(SkTDArray<size_t>* outCommandOffsets) const { |
if (!fCommandVector.isEmpty()) { |
+ outCommandOffsets->setCount(fCommandVector.count()); |
for (int i = 0; i < fCommandVector.count(); i ++) { |
- *commandOffsets->push() = fCommandVector[i]->offset(); |
+ (*outCommandOffsets)[i] = fCommandVector[i]->offset(); |
} |
+ } else { |
+ outCommandOffsets->reset(); |
} |
- return commandOffsets; |
} |
void SkDebugCanvas::overrideTexFiltering(bool overrideTexFiltering, SkPaint::FilterLevel level) { |