Chromium Code Reviews| 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) { |