phonebookengines/cntlistmodel/src/cntcache.cpp
changeset 61 d30183af6ca6
parent 50 77bc263e1626
child 66 554fe4dbbb59
equal deleted inserted replaced
56:d508aa856878 61:d30183af6ca6
   276                 else {
   276                 else {
   277                     hasNewInfo = true;
   277                     hasNewInfo = true;
   278                 }
   278                 }
   279             }
   279             }
   280             else if (iconName.startsWith("qtg_", Qt::CaseInsensitive)) {
   280             else if (iconName.startsWith("qtg_", Qt::CaseInsensitive)) {
   281                 CntIconCacheItem* iconItem = createIconCacheItem(iconName);
   281                 createIconCacheItem(iconName);
   282                 onNewIcon(iconName, HbIcon(iconName)); 
   282                 onNewIcon(iconName, HbIcon(iconName)); 
   283                 hasNewInfo = true;
   283                 hasNewInfo = true;
   284             }
   284             }
   285             else {
   285             else {
   286                 CntIconCacheItem* iconItem = createIconCacheItem(iconName);
   286                 CntIconCacheItem* iconItem = createIconCacheItem(iconName);
   553             if (i->cacheOrder < minCacheOrder) {
   553             if (i->cacheOrder < minCacheOrder) {
   554                 minCacheOrder = i->cacheOrder;
   554                 minCacheOrder = i->cacheOrder;
   555                 oldestItem = i;
   555                 oldestItem = i;
   556             }
   556             }
   557         }
   557         }
   558         mInfoCache.remove(oldestItem->contactId);
   558         
   559         delete oldestItem;
   559         if (oldestItem) {
       
   560             mInfoCache.remove(oldestItem->contactId);
       
   561             delete oldestItem;
       
   562         }
   560         
   563         
   561         // cache maintenance: if the cache ids become too large,
   564         // cache maintenance: if the cache ids become too large,
   562         // reduce all of them by MaxCacheOrderValue
   565         // reduce all of them by MaxCacheOrderValue
   563         if (mNextInfoCacheOrder >= MaxCacheOrderValue) {
   566         if (mNextInfoCacheOrder >= MaxCacheOrderValue) {
   564             mNextInfoCacheOrder -=  MaxCacheOrderValue;
   567             mNextInfoCacheOrder -=  MaxCacheOrderValue;