diff --git a/src/Configuration/SettingsManager.cpp b/src/Configuration/SettingsManager.cpp index 75bb4c4b45184eeffee0c922e80260ed9afff1ba..4283052d9037bdf616c7902ddddf5c903c9c6001 100644 --- a/src/Configuration/SettingsManager.cpp +++ b/src/Configuration/SettingsManager.cpp @@ -64,8 +64,12 @@ void SettingsManager::setValue( const QString& part , const QString& key, const { m_globalLock.lockForRead(); if ( !m_tempData.contains( part ) ) + { + m_globalLock.unlock(); addNewSettingsPart( part ); - m_globalLock.unlock(); + } + else + m_globalLock.unlock(); QWriteLocker lock( &m_globalLock ); SettingsPart* tmp = m_tempData[part]; SettingsPart::ConfigPair::iterator it = tmp->m_data.find( key );