Index: trunk/BNC/bncsettings.cpp
===================================================================
--- trunk/BNC/bncsettings.cpp	(revision 4072)
+++ trunk/BNC/bncsettings.cpp	(revision 4073)
@@ -20,7 +20,10 @@
 #include "bncapp.h"
 
+QMutex bncSettings::_mutex;  // static mutex 
+
 // Constructor
 ////////////////////////////////////////////////////////////////////////////
 bncSettings::bncSettings(bool noInit) {
+  QMutexLocker locker(&_mutex);
 
   _bncApp = static_cast<bncApp*>(qApp);
@@ -195,4 +198,5 @@
 ////////////////////////////////////////////////////////////////////////////
 bncSettings::~bncSettings() {
+  QMutexLocker locker(&_mutex);
 
 }
@@ -202,5 +206,6 @@
 QVariant bncSettings::value(const QString& key,
                             const QVariant& defaultValue) const {
-  
+  QMutexLocker locker(&_mutex);
+
   if (_bncApp->_settings.contains(key)) {
     return _bncApp->_settings[key];
@@ -220,4 +225,5 @@
 ////////////////////////////////////////////////////////////////////////////
 void bncSettings::remove(const QString& key ) {
+  QMutexLocker locker(&_mutex);
 
 }
@@ -226,4 +232,5 @@
 ////////////////////////////////////////////////////////////////////////////
 void bncSettings::sync() {
-
-}
+  QMutexLocker locker(&_mutex);
+
+}
