summaryrefslogtreecommitdiff
path: root/protocols/Tox/src/tox_options.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Tox/src/tox_options.cpp')
-rw-r--r--protocols/Tox/src/tox_options.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/protocols/Tox/src/tox_options.cpp b/protocols/Tox/src/tox_options.cpp
index 682ee2cc5d..d3fb835dfb 100644
--- a/protocols/Tox/src/tox_options.cpp
+++ b/protocols/Tox/src/tox_options.cpp
@@ -113,11 +113,6 @@ void CToxOptionsMain::ToxAddressCopy_OnClick(CCtrlButton*)
void CToxOptionsMain::ProfileCreate_OnClick(CCtrlButton*)
{
- Tox_Options *options = nullptr;
- tox_options_default(options);
- Tox *tox = tox_new(options, nullptr);
- tox_options_free(options);
-
ptrW profilePath(m_proto->GetToxProfilePath());
if (!m_proto->IsFileExists(profilePath)) {
HANDLE hProfile = CreateFile(profilePath, GENERIC_READ | GENERIC_WRITE, 0, nullptr, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, nullptr);
@@ -128,6 +123,9 @@ void CToxOptionsMain::ProfileCreate_OnClick(CCtrlButton*)
CloseHandle(hProfile);
}
+ Tox_Options *options = nullptr;
+ tox_options_default(options);
+ Tox *tox = tox_new(options, nullptr);
m_proto->InitToxCore(tox);
m_proto->UninitToxCore(tox);
tox_kill(tox);
@@ -171,10 +169,11 @@ void CToxOptionsMain::ProfileImport_OnClick(CCtrlButton*)
Tox_Options *options = tox_options_new(nullptr);
if (m_proto->LoadToxProfile(options)) {
- CToxThread toxThread(options);
+ Tox *tox = tox_new(options, nullptr);
+ tox_options_free(options);
uint8_t data[TOX_ADDRESS_SIZE];
- tox_self_get_address(toxThread.Tox(), data);
+ tox_self_get_address(tox, data);
ToxHexAddress address(data);
m_proto->setString(TOX_SETTINGS_ID, address);
@@ -182,13 +181,13 @@ void CToxOptionsMain::ProfileImport_OnClick(CCtrlButton*)
m_toxAddress.SetTextA(address);
uint8_t nick[TOX_MAX_NAME_LENGTH] = { 0 };
- tox_self_get_name(toxThread.Tox(), nick);
+ tox_self_get_name(tox, nick);
ptrW nickname(mir_utf8decodeW((char*)nick));
m_proto->setWString("Nick", nickname);
m_nickname.SetText(nickname);
uint8_t statusMessage[TOX_MAX_STATUS_MESSAGE_LENGTH] = { 0 };
- tox_self_get_status_message(toxThread.Tox(), statusMessage);
+ tox_self_get_status_message(tox, statusMessage);
m_proto->setWString("StatusMsg", ptrW(mir_utf8decodeW((char*)statusMessage)));
ShowWindow(m_profileCreate.GetHwnd(), FALSE);
@@ -196,6 +195,8 @@ void CToxOptionsMain::ProfileImport_OnClick(CCtrlButton*)
ShowWindow(m_toxAddressCopy.GetHwnd(), TRUE);
ShowWindow(m_profileExport.GetHwnd(), TRUE);
+
+ tox_kill(tox);
}
tox_options_free(options);
}
@@ -241,7 +242,7 @@ bool CToxOptionsMain::OnApply()
// todo: add checkbox
//m_proto->setWString("Password", pass_ptrW(m_password.GetText()));
- m_proto->SaveToxProfile(m_proto->m_toxThread->Tox());
+ m_proto->SaveToxProfile(m_proto->m_tox);
}
return true;
}