summaryrefslogtreecommitdiff
path: root/meta2/core_functions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'meta2/core_functions.cpp')
-rw-r--r--meta2/core_functions.cpp20
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);
}