diff options
Diffstat (limited to 'src/ui/core.c')
-rw-r--r-- | src/ui/core.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/ui/core.c b/src/ui/core.c index 091ed0eb..f72ec732 100644 --- a/src/ui/core.c +++ b/src/ui/core.c @@ -369,7 +369,7 @@ _ui_incoming_msg(const char * const barejid, const char * const message, GTimeVa flash(); } - window->unread++; + chatwin->unread++; if (prefs_get_boolean(PREF_CHLOG) && prefs_get_boolean(PREF_HISTORY)) { _win_show_history(num, barejid); } @@ -438,7 +438,7 @@ _ui_incoming_private_msg(const char * const fulljid, const char * const message, flash(); } - window->unread++; + privatewin->unread++; if (prefs_get_boolean(PREF_CHLOG) && prefs_get_boolean(PREF_HISTORY)) { _win_show_history(num, fulljid); } @@ -854,8 +854,6 @@ _ui_switch_win(const int i) wins_set_current_by_num(i); - new_current->unread = 0; - if (i == 1) { title_bar_console(); status_bar_current(1); @@ -889,8 +887,6 @@ _ui_previous_win(void) int i = wins_get_num(new_current); wins_set_current_by_num(i); - new_current->unread = 0; - if (i == 1) { title_bar_console(); status_bar_current(1); @@ -920,8 +916,6 @@ _ui_next_win(void) int i = wins_get_num(new_current); wins_set_current_by_num(i); - new_current->unread = 0; - if (i == 1) { title_bar_console(); status_bar_current(1); @@ -1840,10 +1834,11 @@ static void _ui_room_message(const char * const roomjid, const char * const nick, const char * const message) { - ProfWin *window = (ProfWin*)wins_get_muc(roomjid); - if (window == NULL) { + ProfMucWin *mucwin = wins_get_muc(roomjid); + if (mucwin == NULL) { log_error("Room message received from %s, but no window open for %s", nick, roomjid); } else { + ProfWin *window = (ProfWin*) mucwin; int num = wins_get_num(window); char *my_nick = muc_nick(roomjid); @@ -1872,7 +1867,7 @@ _ui_room_message(const char * const roomjid, const char * const nick, } } - window->unread++; + mucwin->unread++; } int ui_index = num; @@ -2228,7 +2223,7 @@ _ui_win_unread(int index) { ProfWin *window = wins_get_by_num(index); if (window != NULL) { - return window->unread; + return win_unread(window); } else { return 0; } |