bluetoothengine/btui/btuidelegate/btdelegateremotedevname.cpp
changeset 52 4545c04e61e1
parent 40 997690c3397a
child 57 5ebadcda06cb
--- a/bluetoothengine/btui/btuidelegate/btdelegateremotedevname.cpp	Tue Jul 06 14:27:09 2010 +0300
+++ b/bluetoothengine/btui/btuidelegate/btdelegateremotedevname.cpp	Wed Aug 18 09:59:05 2010 +0300
@@ -26,7 +26,7 @@
 
 BtDelegateRemoteDevName::BtDelegateRemoteDevName(BtSettingModel* settingModel, 
         BtDeviceModel* deviceModel,QObject *parent )
-    :BtAbstractDelegate( settingModel, deviceModel, parent ), mRegistryActive(0)
+    :BtAbstractDelegate( settingModel, deviceModel, parent ), mRegistryActive(0), mRegistryOpened(false)
 {
     
 }
@@ -35,7 +35,8 @@
 {
     delete mRegistryActive;
     mSymName.Close();
-    mBtRegistry.Close();
+    if (mRegistryOpened)
+        mBtRegistry.Close();//there is crash is close the btregistry without opening it first
     mBtRegServ.Close();
 }
 
@@ -70,11 +71,20 @@
     QVariant nameVariant = paramList.at(1); 
     QString btRemoteDevName = nameVariant.toString();
     
+    if (!validateName(btRemoteDevName)){
+            emit commandCompleted(KErrBadName);
+            return;
+    }
+    mNewName = btRemoteDevName;
+    /*
+    QModelIndex start = getDeviceModel()->index(0,0);
+    QModelIndexList indexList = getDeviceModel()->match(start,BtDeviceModel::NameAliasRole, mNewName);
+    if (indexList.size() > 1){
+        emit commandCompleted(KErrBadName, mNewName);
+        return;
+    }
+    */
     int error = KErrNone;
-            
-    validateName(btRemoteDevName);
-    mNewName = btRemoteDevName;
-    
     TPtrC ptrName(reinterpret_cast<const TText*>(btRemoteDevName.constData()));
   
     error = mSymName.Create(ptrName.Length());
@@ -105,6 +115,8 @@
         emit commandCompleted(error,mNewName);
         return;
     }
+    mRegistryOpened = true;
+    
     if (!mRegistryActive){
         RequestIdentifiers requestId = Unknown;
         TRAP(error, mRegistryActive = CBtSimpleActive::NewL(