void LLControlGroup::connectCOAVars(LLControlGroup &OtherGroup) { LLControlVariable *pCOAVar = NULL; for (ctrl_name_table_t::iterator iter = mNameTable.begin(); iter != mNameTable.end(); iter++) { if(iter->second->isCOA()) { LLControlVariable *pParent = iter->second; LLControlVariable *pChild = OtherGroup.getControl(pParent->getName()); if(!pChild) { OtherGroup.declareControl( pParent->getName(), pParent->type(), pParent->getDefault(), pParent->getComment(), pParent->isPersisted(), true); pChild = OtherGroup.getControl(pParent->getName()); } if(pChild) { pParent->setCOAConnect(pChild,true); pChild->setCOAConnect(pParent,false); } } else if(iter->second->getName() == "AscentStoreSettingsPerAccount") pCOAVar = iter->second; } if(pCOAVar) { pCOAVar->getSignal()->connect(boost::bind(&LLControlGroup::handleCOASettingChange, this, _2)); pCOAVar->firePropertyChanged(); } }