summaryrefslogtreecommitdiff
path: root/protocols
diff options
context:
space:
mode:
Diffstat (limited to 'protocols')
-rw-r--r--protocols/Tox/src/tox_accounts.cpp19
-rw-r--r--protocols/Tox/src/tox_proto.cpp6
2 files changed, 13 insertions, 12 deletions
diff --git a/protocols/Tox/src/tox_accounts.cpp b/protocols/Tox/src/tox_accounts.cpp
index 2d02f68c4b..ff40c4bb2e 100644
--- a/protocols/Tox/src/tox_accounts.cpp
+++ b/protocols/Tox/src/tox_accounts.cpp
@@ -1,18 +1,21 @@
#include "stdafx.h"
-int CToxProto::OnAccountRenamed(WPARAM, LPARAM)
+int CToxProto::OnAccountRenamed(WPARAM wParam, LPARAM lParam)
{
- mir_cslock lock(m_profileLock);
+ PROTOACCOUNT *pa = (PROTOACCOUNT*)lParam;
+ if (wParam == PRAC_CHANGED && pa->ppro == this) {
+ mir_cslock lock(m_profileLock);
- ptrW newPath(GetToxProfilePath());
- wchar_t oldPath[MAX_PATH];
- mir_snwprintf(oldPath, MAX_PATH, L"%s\\%s.tox", VARSW(L"%miranda_userdata%"), m_accountName);
- _wrename(oldPath, newPath);
- m_accountName = mir_wstrdup(m_tszUserName);
+ ptrW newPath(GetToxProfilePath());
+ wchar_t oldPath[MAX_PATH];
+ mir_snwprintf(oldPath, MAX_PATH, L"%s\\%s.tox", VARSW(L"%miranda_userdata%"), m_accountName);
+ _wrename(oldPath, newPath);
+ m_accountName = mir_wstrdup(m_tszUserName);
+ }
return 0;
}
INT_PTR CToxProto::OnAccountManagerInit(WPARAM, LPARAM lParam)
{
return (INT_PTR)(CToxOptionsMain::CreateAccountManagerPage(this, (HWND)lParam))->GetHwnd();
-} \ No newline at end of file
+}
diff --git a/protocols/Tox/src/tox_proto.cpp b/protocols/Tox/src/tox_proto.cpp
index 004211284f..f893e881fe 100644
--- a/protocols/Tox/src/tox_proto.cpp
+++ b/protocols/Tox/src/tox_proto.cpp
@@ -34,6 +34,7 @@ CToxProto::CToxProto(const char* protoName, const wchar_t* userName)
CreateServiceFunction(MODULE "/GetEventIcon", &CToxProto::EventGetIcon);
HookProtoEvent(ME_CLIST_PREBUILDCONTACTMENU, &CToxProto::OnPrebuildContactMenu);
+ HookProtoEvent(ME_PROTO_ACCLISTCHANGED, &CToxProto::OnAccountRenamed);
hTerminateEvent = CreateEvent(nullptr, FALSE, FALSE, nullptr);
}
@@ -224,12 +225,9 @@ int CToxProto::UserIsTyping(MCONTACT hContact, int type)
return OnUserIsTyping(hContact, type);
}
-int CToxProto::OnEvent(PROTOEVENTTYPE iEventType, WPARAM wParam, LPARAM lParam)
+int CToxProto::OnEvent(PROTOEVENTTYPE iEventType, WPARAM, LPARAM)
{
switch (iEventType) {
- case EV_PROTO_ONRENAME:
- return OnAccountRenamed(wParam, lParam);
-
case EV_PROTO_ONMENU:
return OnInitStatusMenu();