diff options
author | Michael Vetter <jubalh@iodoru.org> | 2019-06-11 06:35:03 +0200 |
---|---|---|
committer | Michael Vetter <jubalh@iodoru.org> | 2019-06-11 06:35:03 +0200 |
commit | 47e55cc1127a80397ed139bd70443cc7c277d006 (patch) | |
tree | 47faf6a58df95db380c6c6f25fcdd9ad496bd206 /src/event | |
parent | ce5a4ed77cb8e9912747a5450b43093fb2df65f5 (diff) | |
download | profani-tty-47e55cc1127a80397ed139bd70443cc7c277d006.tar.gz |
Safe last MUC message timestamp per MUC
After pasis review of my code he thinks it's better to safe the timestamp per MUC so we can account for some problems that could occur with timing.
Diffstat (limited to 'src/event')
-rw-r--r-- | src/event/server_events.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/event/server_events.c b/src/event/server_events.c index 9c89a019..bb31f9c6 100644 --- a/src/event/server_events.c +++ b/src/event/server_events.c @@ -67,7 +67,6 @@ #include "ui/ui.h" gint _success_connections_counter = 0; -GDateTime *_last_muc_message; void sv_ev_login_account_success(char *account_name, gboolean secured) @@ -278,13 +277,13 @@ sv_ev_room_history(const char *const room_jid, const char *const nick, if (_success_connections_counter == 1) { // save timestamp of last received muc message // so we dont display, if there was no activity in channel, once we reconnect - if (_last_muc_message) { - g_date_time_unref(_last_muc_message); + if (mucwin->last_msg_timestamp) { + g_date_time_unref(mucwin->last_msg_timestamp); } - _last_muc_message = g_date_time_new_now_local(); + mucwin->last_msg_timestamp = g_date_time_new_now_local(); } - gboolean younger = g_date_time_compare(_last_muc_message, timestamp) < 0 ? TRUE : FALSE; + gboolean younger = g_date_time_compare(mucwin->last_msg_timestamp, timestamp) < 0 ? TRUE : FALSE; if (_success_connections_counter == 1 || younger ) { mucwin_history(mucwin, nick, timestamp, message); } @@ -364,10 +363,10 @@ sv_ev_room_message(const char *const room_jid, const char *const nick, const cha } // save timestamp of last received muc message - if (_last_muc_message) { - g_date_time_unref(_last_muc_message); + if (mucwin->last_msg_timestamp) { + g_date_time_unref(mucwin->last_msg_timestamp); } - _last_muc_message = g_date_time_new_now_local(); + mucwin->last_msg_timestamp = g_date_time_new_now_local(); if (prefs_do_room_notify(is_current, mucwin->roomjid, mynick, nick, new_message, mention, triggers != NULL)) { Jid *jidp = jid_create(mucwin->roomjid); |