diff --git a/src/graphic/QskGraphicProviderMap.cpp b/src/graphic/QskGraphicProviderMap.cpp index b60112bf..6121e169 100644 --- a/src/graphic/QskGraphicProviderMap.cpp +++ b/src/graphic/QskGraphicProviderMap.cpp @@ -28,9 +28,13 @@ QskGraphicProviderMap::QskGraphicProviderMap() QskGraphicProviderMap::~QskGraphicProviderMap() { - const auto& hashTab = m_data->hashTab; - for ( auto it = hashTab.constBegin(); it != hashTab.constEnd(); ++it ) - delete it.value(); + qDeleteAll( m_data->hashTab ); +} + +void QskGraphicProviderMap::clear() +{ + qDeleteAll( m_data->hashTab ); + m_data->hashTab.clear(); } void QskGraphicProviderMap::insert( diff --git a/src/graphic/QskGraphicProviderMap.h b/src/graphic/QskGraphicProviderMap.h index 30952172..8fd2211b 100644 --- a/src/graphic/QskGraphicProviderMap.h +++ b/src/graphic/QskGraphicProviderMap.h @@ -23,8 +23,9 @@ class QskGraphicProviderMap void remove( const QString& providerId ); void remove( QskGraphicProvider* ); - QskGraphicProvider* take( const QString& providerId ); + void clear(); + QskGraphicProvider* take( const QString& providerId ); QskGraphicProvider* provider( const QString& providerId ) const; int size() const;