mirror of
https://github.com/Tha14/toxic.git
synced 2024-12-23 16:23:26 +01:00
fix bug and load previous status messages on boot
This commit is contained in:
parent
9d52b6ab5d
commit
ac82961bea
@ -402,7 +402,6 @@ static void load_data(Tox *m, char *path)
|
||||
|
||||
void exit_toxic(Tox *m)
|
||||
{
|
||||
pthread_join(Winthread.tid, NULL);
|
||||
store_data(m, DATA_FILE);
|
||||
close_all_file_senders();
|
||||
kill_all_windows();
|
||||
@ -500,7 +499,6 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
prompt = init_windows(m);
|
||||
prompt_init_statusbar(prompt, m);
|
||||
|
||||
/* create new thread for ncurses stuff */
|
||||
if (pthread_mutex_init(&Winthread.lock, NULL) != 0)
|
||||
@ -550,6 +548,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
sort_friendlist_index(m);
|
||||
prompt_init_statusbar(prompt, m);
|
||||
|
||||
while (true) {
|
||||
do_toxic(m, prompt);
|
||||
|
17
src/prompt.c
17
src/prompt.c
@ -36,6 +36,7 @@
|
||||
uint8_t pending_frnd_requests[MAX_FRIENDS_NUM][TOX_CLIENT_ID_SIZE] = {0};
|
||||
uint8_t num_frnd_requests = 0;
|
||||
extern ToxWindow *prompt;
|
||||
struct _Winthread Winthread;
|
||||
|
||||
/* Array of global command names used for tab completion. */
|
||||
const uint8_t glob_cmd_list[AC_NUM_GLOB_COMMANDS][MAX_CMDNAME_SIZE] = {
|
||||
@ -467,21 +468,27 @@ void prompt_init_statusbar(ToxWindow *self, Tox *m)
|
||||
statusbar->is_online = false;
|
||||
|
||||
uint8_t nick[TOX_MAX_NAME_LENGTH] = {'\0'};
|
||||
uint8_t statusmsg[MAX_STR_SIZE];
|
||||
|
||||
pthread_mutex_lock(&Winthread.lock);
|
||||
tox_get_self_name(m, nick, TOX_MAX_NAME_LENGTH);
|
||||
tox_get_self_status_message(m, statusmsg, MAX_STR_SIZE);
|
||||
pthread_mutex_unlock(&Winthread.lock);
|
||||
|
||||
snprintf(statusbar->nick, sizeof(statusbar->nick), "%s", nick);
|
||||
|
||||
/* temporary until statusmessage saving works */
|
||||
uint8_t ver[strlen(TOXICVER) + 1];
|
||||
uint8_t statusmsg[MAX_STR_SIZE];
|
||||
strcpy(ver, TOXICVER);
|
||||
uint8_t *toxic_ver = strtok(ver, "_");
|
||||
|
||||
if (toxic_ver != NULL)
|
||||
if (!strcmp("Online", statusmsg))
|
||||
snprintf(statusmsg, MAX_STR_SIZE, "Toxing on Toxic v.%s", toxic_ver);
|
||||
else
|
||||
snprintf(statusmsg, MAX_STR_SIZE, "Toxing on Toxic hacker edition");
|
||||
|
||||
m_set_statusmessage(m, statusmsg, strlen(statusmsg) + 1);
|
||||
pthread_mutex_lock(&Winthread.lock);
|
||||
tox_set_status_message(m, statusmsg, strlen(statusmsg) + 1);
|
||||
pthread_mutex_unlock(&Winthread.lock);
|
||||
|
||||
snprintf(statusbar->statusmsg, sizeof(statusbar->statusmsg), "%s", statusmsg);
|
||||
|
||||
/* Init statusbar subwindow */
|
||||
|
Loading…
Reference in New Issue
Block a user