summaryrefslogtreecommitdiff
path: root/protocols/MRA/src/Mra_proto.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/MRA/src/Mra_proto.cpp')
-rw-r--r--protocols/MRA/src/Mra_proto.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/protocols/MRA/src/Mra_proto.cpp b/protocols/MRA/src/Mra_proto.cpp
index 9af85b3299..a7ac12db4f 100644
--- a/protocols/MRA/src/Mra_proto.cpp
+++ b/protocols/MRA/src/Mra_proto.cpp
@@ -612,13 +612,13 @@ bool CMraProto::CmdAuthAck(BinBuffer &buf)
db_event_add(0, &dbei);
}
- DWORD dwFlags = getDword(hContact, "ContactServerFlags", 0);
- if (dwFlags & CONTACT_INTFLAG_NOT_AUTHORIZED) {
- dwFlags &= ~CONTACT_INTFLAG_NOT_AUTHORIZED;
- setDword(hContact, "ContactServerFlags", dwFlags);
- }
-
+ DWORD dwTemp;
+ GetContactBasicInfoW(hContact, NULL, NULL, NULL, &dwTemp, NULL, NULL, NULL, NULL);
+ dwTemp &= ~CONTACT_INTFLAG_NOT_AUTHORIZED;
+ SetContactBasicInfoW(hContact, SCBIFSI_LOCK_CHANGES_EVENTS, SCBIF_SERVER_FLAG, 0, 0, 0, dwTemp, 0, 0, 0, 0);
+ setDword(hContact, "HooksLocked", TRUE);
db_unset(hContact, "CList", "NotOnList");
+ setDword(hContact, "HooksLocked", FALSE);
return true;
}