void SkBitmapCache::add(const void* buffer, size_t len, const SkBitmap& bm) {
AutoValidate av(this);
-
+
if (fEntryCount == fMaxEntries) {
- if (fTail) {
- delete this->detach(fTail);
- }
+ SkASSERT(fTail);
+ delete this->detach(fTail);
+ fEntryCount -= 1;
}
Entry* entry = new Entry(buffer, len, bm);
void SkBitmapCache::validate() const {
SkASSERT(fEntryCount >= 0 && fEntryCount <= fMaxEntries);
-
+
if (fEntryCount > 0) {
SkASSERT(NULL == fHead->fPrev);
SkASSERT(NULL == fTail->fNext);
entry = entry->fNext;
}
SkASSERT(count == fEntryCount);
-
+
entry = fTail;
while (entry) {
count -= 1;
} else {
SkASSERT(NULL == fHead);
SkASSERT(NULL == fTail);
- }
+ }
}
#endif