diff options
-rw-r--r-- | protocols/WhatsApp/src/proto.cpp | 17 | ||||
-rw-r--r-- | protocols/WhatsApp/src/proto.h | 1 | ||||
-rw-r--r-- | protocols/WhatsApp/src/server.cpp | 2 |
3 files changed, 13 insertions, 7 deletions
diff --git a/protocols/WhatsApp/src/proto.cpp b/protocols/WhatsApp/src/proto.cpp index 46714805d1..9cf48f0d6b 100644 --- a/protocols/WhatsApp/src/proto.cpp +++ b/protocols/WhatsApp/src/proto.cpp @@ -123,11 +123,8 @@ static int sttEnumFunc(const char *szSetting, void *param) return 0;
}
-void WhatsAppProto::OnErase()
+void WhatsAppProto::RemoveCachedSettings()
{
- m_bUnregister = true;
- ServerThreadWorker();
-
// remove all temporary data from database & disk folder
LIST<char> arSettings(50);
db_enum_settings(0, sttEnumFunc, m_szModuleName, &arSettings);
@@ -136,11 +133,19 @@ void WhatsAppProto::OnErase() mir_free(it);
}
- DeleteDirectoryTreeW(CMStringW(VARSW(L"%miranda_userdata%")) + L"\\" + _A2T(m_szModuleName), false);
-
m_szJid.Empty();
}
+void WhatsAppProto::OnErase()
+{
+ m_bUnregister = true;
+ ServerThreadWorker();
+
+ RemoveCachedSettings();
+
+ DeleteDirectoryTreeW(CMStringW(VARSW(L"%miranda_userdata%")) + L"\\" + _A2T(m_szModuleName), false);
+}
+
/////////////////////////////////////////////////////////////////////////////////////////
// OnModulesLoaded emulator for an account
diff --git a/protocols/WhatsApp/src/proto.h b/protocols/WhatsApp/src/proto.h index 076c11d8f3..3a7842bd1f 100644 --- a/protocols/WhatsApp/src/proto.h +++ b/protocols/WhatsApp/src/proto.h @@ -311,6 +311,7 @@ class WhatsAppProto : public PROTO<WhatsAppProto> void ApplyPatch(const JSONNode &index, const Wa__SyncActionValue *data);
void ParsePatch(WACollection *pColl, const Wa__SyncdRecord *rec, bool bSet);
void ProcessHistorySync(const Wa__HistorySync *pSync);
+ void RemoveCachedSettings();
void ResyncServer(const OBJLIST<WACollection> &task);
void ResyncAll(void);
diff --git a/protocols/WhatsApp/src/server.cpp b/protocols/WhatsApp/src/server.cpp index dc1a3d71f3..e6305d3dd5 100644 --- a/protocols/WhatsApp/src/server.cpp +++ b/protocols/WhatsApp/src/server.cpp @@ -226,7 +226,7 @@ void WhatsAppProto::ProcessFailure(int code) debugLogA("Connection logged out from another device, exiting");
Popup(0, TranslateT("This account was logged out from mobile phone, you need to link it again"), m_tszUserName);
- OnErase();
+ RemoveCachedSettings();
break;
case 408:
|