diff --git a/src/graphic/QskGraphicProviderMap.cpp b/src/graphic/QskGraphicProviderMap.cpp index bdd37f92..78e6fcae 100644 --- a/src/graphic/QskGraphicProviderMap.cpp +++ b/src/graphic/QskGraphicProviderMap.cpp @@ -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; } diff --git a/src/graphic/QskGraphicProviderMap.h b/src/graphic/QskGraphicProviderMap.h index 119dab2c..607217cf 100644 --- a/src/graphic/QskGraphicProviderMap.h +++ b/src/graphic/QskGraphicProviderMap.h @@ -12,7 +12,7 @@ class QskGraphicProvider; class QString; -class QSK_EXPORT QskGraphicProviderMap +class QskGraphicProviderMap { public: QskGraphicProviderMap();