Maximum 40 entries in config and capabilities cache

This commit is contained in:
Marco Hugentobler 2011-05-11 17:01:14 +02:00
parent a09d04399c
commit 89fe2289f1
2 changed files with 8 additions and 5 deletions

View File

@ -40,5 +40,11 @@ const QDomDocument* QgsCapabilitiesCache::searchCapabilitiesDocument( const QStr
void QgsCapabilitiesCache::insertCapabilitiesDocument( const QString& configFilePath, const QDomDocument* doc )
{
if( mCachedCapabilities.size() > 40 )
{
//remove another cache entry to avoid memory problems
QHash<QString, QDomDocument>::iterator capIt = mCachedCapabilities.begin();
mCachedCapabilities.erase( capIt );
}
mCachedCapabilities.insert( configFilePath, doc->cloneNode().toDocument() );
}

View File

@ -61,12 +61,9 @@ QgsConfigParser* QgsConfigCache::insertConfiguration( const QString& filePath )
{
if ( mCachedConfigurations.size() > 40 )
{
//remove 10 elements to avoid memory problems
//remove a cache entry to avoid memory problems
QHash<QString, QgsConfigParser*>::iterator configIt = mCachedConfigurations.begin();
for ( int i = 0; i < 10; ++i )
{
configIt = mCachedConfigurations.erase( configIt );
}
mCachedConfigurations.erase( configIt );
}
//first open file