Fix a memory leak in SkBitmapHeap.
authorscroggo <scroggo@2bbb7eff-a529-9590-31e7-b0007b416f81>
Thu, 16 Aug 2012 20:30:18 +0000 (20:30 +0000)
committerscroggo <scroggo@2bbb7eff-a529-9590-31e7-b0007b416f81>
Thu, 16 Aug 2012 20:30:18 +0000 (20:30 +0000)
When I switched fLookupTable to be an array of pointers, I did not
delete those pointers when I was done with them. Do it now.

Also modify SkTDArray::deleteAll to call SkDELETE instead of delete.

Review URL: https://codereview.appspot.com/6453129

git-svn-id: http://skia.googlecode.com/svn/trunk@5137 2bbb7eff-a529-9590-31e7-b0007b416f81

include/core/SkTDArray.h
src/core/SkBitmapHeap.cpp

index 60c987d..2d7ec18 100644 (file)
@@ -266,7 +266,7 @@ public:
         T*  iter = fArray;
         T*  stop = fArray + fCount;
         while (iter < stop) {
-            delete (*iter);
+            SkDELETE (*iter);
             iter += 1;
         }
         this->reset();
index 1867af2..e7f9eed 100644 (file)
@@ -104,6 +104,7 @@ SkBitmapHeap::~SkBitmapHeap() {
     SkASSERT(0 == fBytesAllocated);
     fStorage.deleteAll();
     SkSafeUnref(fExternalStorage);
+    fLookupTable.deleteAll();
 }
 
 SkTRefArray<SkBitmap>* SkBitmapHeap::extractBitmaps() const {