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

View File

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