mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
Remove manual memory allocation from titlebar
This commit is contained in:
parent
91b5405782
commit
2911093240
@ -30,11 +30,10 @@
|
|||||||
static WINDOW *win;
|
static WINDOW *win;
|
||||||
static char *current_title = NULL;
|
static char *current_title = NULL;
|
||||||
static char *current_recipient = NULL;
|
static char *current_recipient = NULL;
|
||||||
|
static contact_presence_t current_presence;
|
||||||
|
|
||||||
static GTimer *typing_elapsed;
|
static GTimer *typing_elapsed;
|
||||||
|
|
||||||
static contact_presence_t current_presence;
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_create_title_bar(void)
|
_create_title_bar(void)
|
||||||
{
|
{
|
||||||
@ -55,7 +54,6 @@ _title_bar_console(void)
|
|||||||
current_recipient = NULL;
|
current_recipient = NULL;
|
||||||
typing_elapsed = NULL;
|
typing_elapsed = NULL;
|
||||||
|
|
||||||
if (current_title != NULL)
|
|
||||||
free(current_title);
|
free(current_title);
|
||||||
current_title = strdup("Profanity. Type /help for help information.");
|
current_title = strdup("Profanity. Type /help for help information.");
|
||||||
|
|
||||||
@ -83,12 +81,8 @@ _title_bar_refresh(void)
|
|||||||
|
|
||||||
if (seconds >= 10) {
|
if (seconds >= 10) {
|
||||||
|
|
||||||
if (current_title != NULL) {
|
|
||||||
free(current_title);
|
free(current_title);
|
||||||
}
|
current_title = strdup(current_recipient);
|
||||||
|
|
||||||
current_title = (char *) malloc(strlen(current_recipient) + 1);
|
|
||||||
strcpy(current_title, current_recipient);
|
|
||||||
|
|
||||||
title_bar_draw();
|
title_bar_draw();
|
||||||
|
|
||||||
@ -106,26 +100,22 @@ static void
|
|||||||
_title_bar_set_presence(contact_presence_t presence)
|
_title_bar_set_presence(contact_presence_t presence)
|
||||||
{
|
{
|
||||||
current_presence = presence;
|
current_presence = presence;
|
||||||
|
|
||||||
title_bar_draw();
|
title_bar_draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_title_bar_set_recipient(const char * const from)
|
_title_bar_set_recipient(const char * const recipient)
|
||||||
{
|
{
|
||||||
if (typing_elapsed != NULL) {
|
if (typing_elapsed != NULL) {
|
||||||
g_timer_destroy(typing_elapsed);
|
g_timer_destroy(typing_elapsed);
|
||||||
typing_elapsed = NULL;
|
typing_elapsed = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
free(current_recipient);
|
free(current_recipient);
|
||||||
current_recipient = strdup(from);
|
current_recipient = strdup(recipient);
|
||||||
|
|
||||||
if (current_title != NULL) {
|
|
||||||
free(current_title);
|
free(current_title);
|
||||||
}
|
current_title = strdup(recipient);
|
||||||
|
|
||||||
current_title = (char *) malloc(strlen(from) + 1);
|
|
||||||
strcpy(current_title, from);
|
|
||||||
|
|
||||||
wrefresh(win);
|
wrefresh(win);
|
||||||
inp_put_back();
|
inp_put_back();
|
||||||
@ -142,17 +132,13 @@ _title_bar_set_typing(gboolean is_typing)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (current_title != NULL) {
|
|
||||||
free(current_title);
|
free(current_title);
|
||||||
}
|
GString *new_title = g_string_new(current_recipient);
|
||||||
|
|
||||||
if (is_typing) {
|
if (is_typing) {
|
||||||
current_title = (char *) malloc(strlen(current_recipient) + 13);
|
g_string_append(new_title, " (typing...)");
|
||||||
sprintf(current_title, "%s (typing...)", current_recipient);
|
|
||||||
} else {
|
|
||||||
current_title = (char *) malloc(strlen(current_recipient) + 1);
|
|
||||||
strcpy(current_title, current_recipient);
|
|
||||||
}
|
}
|
||||||
|
current_title = strdup(new_title->str);
|
||||||
|
g_string_free(new_title, TRUE);
|
||||||
|
|
||||||
wrefresh(win);
|
wrefresh(win);
|
||||||
inp_put_back();
|
inp_put_back();
|
||||||
|
Loading…
Reference in New Issue
Block a user