remove/take fixed

This commit is contained in:
Uwe Rathmann 2022-03-25 13:39:18 +01:00
parent eaa5a63278
commit 6907cd0e28
2 changed files with 6 additions and 9 deletions

View File

@ -48,11 +48,7 @@ void QskGraphicProviderMap::insert(
void QskGraphicProviderMap::remove( const QString& providerId )
{
const auto it = m_data->hashTab.constFind( qskKey( providerId ) );
if ( it == m_data->hashTab.constEnd() )
delete it.value();
m_data->hashTab.erase( it );
delete take( providerId );
}
QskGraphicProvider* QskGraphicProviderMap::take( const QString& providerId )
@ -60,10 +56,11 @@ QskGraphicProvider* QskGraphicProviderMap::take( const QString& providerId )
QskGraphicProvider* provider = nullptr;
const auto it = m_data->hashTab.constFind( qskKey( providerId ) );
if ( it == m_data->hashTab.constEnd() )
if ( it != m_data->hashTab.constEnd() )
{
provider = it.value();
m_data->hashTab.erase( it );
m_data->hashTab.erase( it );
}
return provider;
}

View File

@ -12,7 +12,7 @@
class QskGraphicProvider;
class QString;
class QSK_EXPORT QskGraphicProviderMap
class QskGraphicProviderMap
{
public:
QskGraphicProviderMap();