diff options
Diffstat (limited to 'meta2/core_functions.cpp')
-rw-r--r-- | meta2/core_functions.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/meta2/core_functions.cpp b/meta2/core_functions.cpp index 748fddc..6715c8e 100644 --- a/meta2/core_functions.cpp +++ b/meta2/core_functions.cpp @@ -126,6 +126,26 @@ void Meta_Assign(HANDLE hSub, HANDLE hMeta) { } else // shouldn't happen, as the menu option is hidden when metas are disabled...
DBWriteContactSettingByte(hMeta, "CList", "Hidden", 1);
+ DBVARIANT dbv;
+ if(DBGetContactSettingUTF8String(hMeta, "CList", "MyHandle", &dbv)) {
+ if(!DBGetContactSettingUTF8String(hSub, "CList", "MyHandle", &dbv)) {
+ DBWriteContactSettingUTF8String(hMeta, "CList", "MyHandle", dbv.pszVal);
+ DBFreeVariant(&dbv);
+ }
+ } else
+ DBFreeVariant(&dbv);
+
+ if(DBGetContactSettingUTF8String(hMeta, MODULE, "Nick", &dbv)) {
+ char *subProto = ContactProto(hSub);
+ if(subProto) {
+ if(!DBGetContactSettingUTF8String(hSub, subProto, "Nick", &dbv)) {
+ DBWriteContactSettingUTF8String(hMeta, MODULE, "Nick", dbv.pszVal);
+ DBFreeVariant(&dbv);
+ }
+ }
+ } else
+ DBFreeVariant(&dbv);
+
FireSubcontactsChanged(hMeta);
}
|