summaryrefslogtreecommitdiff
path: root/protocols/JabberG
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/JabberG')
-rw-r--r--protocols/JabberG/src/jabber_omemo.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/protocols/JabberG/src/jabber_omemo.cpp b/protocols/JabberG/src/jabber_omemo.cpp
index 57f72ac8d4..a0836b9639 100644
--- a/protocols/JabberG/src/jabber_omemo.cpp
+++ b/protocols/JabberG/src/jabber_omemo.cpp
@@ -1271,6 +1271,7 @@ complete:
else if (ret == IDNO)
proto->setByte(hContact, szSetting, 0);
}
+ mir_free(fingerprint);
}
if (!fp_trusted) {
@@ -1838,8 +1839,8 @@ void CJabberProto::OmemoSendBundle()
bool CJabberProto::OmemoCheckSession(MCONTACT hContact)
{
- if (m_omemo.session_checked[hContact])
- return true;
+ //if (m_omemo.session_checked[hContact])
+ // return true;
bool pending_check = false;
CMStringA szSetting;
@@ -1861,6 +1862,7 @@ bool CJabberProto::OmemoCheckSession(MCONTACT hContact)
bool checked = getBool(hContact, szSetting + "Checked");
while (id) {
if (!checked) {
+ m_omemo.session_checked[hContact] = false;
pending_check = true;
unsigned int* _id = new unsigned int;
*_id = id;
@@ -1883,8 +1885,10 @@ bool CJabberProto::OmemoCheckSession(MCONTACT hContact)
}
if (!pending_check) {
- m_omemo.session_checked[hContact] = true;
- OmemoHandleMessageQueue();
+ if(!m_omemo.session_checked[hContact]) {
+ m_omemo.session_checked[hContact] = true;
+ OmemoHandleMessageQueue();
+ }
return true;
}