1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-06-23 21:45:30 +00:00

Free timestamps and carbons stanzas

This commit is contained in:
James Booth 2015-08-09 00:40:37 +01:00
parent d944e8252e
commit 783342a48c
2 changed files with 11 additions and 3 deletions

View File

@ -907,12 +907,17 @@ void
win_print(ProfWin *window, const char show_char, int pad_indent, GDateTime *timestamp,
int flags, theme_item_t theme_item, const char * const from, const char * const message)
{
if (timestamp == NULL) timestamp = g_date_time_new_now_local();
if (timestamp == NULL) {
timestamp = g_date_time_new_now_local();
} else {
g_date_time_ref(timestamp);
}
buffer_push(window->layout->buffer, show_char, pad_indent, timestamp, flags, theme_item, from, message, NULL);
_win_print(window, show_char, pad_indent, timestamp, flags, theme_item, from, message, NULL);
// TODO: cross-reference.. this should be replaced by a real event-based system
ui_input_nonblocking(TRUE);
g_date_time_unref(timestamp);
}
void
@ -975,7 +980,7 @@ _win_print(ProfWin *window, const char show_char, int pad_indent, GDateTime *tim
gchar *date_fmt = NULL;
char *time_pref = prefs_get_string(PREF_TIME);
date_fmt = g_date_time_format(time, time_pref);
free(time_pref);
prefs_free_string(time_pref);
assert(date_fmt != NULL);
if(strlen(date_fmt) != 0){
@ -992,7 +997,6 @@ _win_print(ProfWin *window, const char show_char, int pad_indent, GDateTime *tim
wattroff(window->layout->win, theme_attrs(THEME_TIME));
}
}
g_free(date_fmt);
}
if (strlen(from) > 0) {
@ -1049,6 +1053,8 @@ _win_print(ProfWin *window, const char show_char, int pad_indent, GDateTime *tim
wattroff(window->layout->win, theme_attrs(theme_item));
}
}
g_free(date_fmt);
}
static void

View File

@ -213,6 +213,7 @@ stanza_enable_carbons(xmpp_ctx_t *ctx){
xmpp_stanza_set_ns(carbons_enable, STANZA_NS_CARBONS);
xmpp_stanza_add_child(iq, carbons_enable);
xmpp_stanza_release(carbons_enable);
return iq;
}
@ -232,6 +233,7 @@ stanza_disable_carbons(xmpp_ctx_t *ctx){
xmpp_stanza_set_ns(carbons_disable, STANZA_NS_CARBONS);
xmpp_stanza_add_child(iq, carbons_disable);
xmpp_stanza_release(carbons_disable);
return iq;
}