--- a/bluetoothengine/btui/btuidelegate/btdelegateremotedevname.cpp Mon Jul 12 19:25:26 2010 +0300
+++ b/bluetoothengine/btui/btuidelegate/btdelegateremotedevname.cpp Fri Jul 23 15:57:13 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(