--- a/mcabber/src/roster.c Sat Aug 23 21:01:14 2008 +0200
+++ b/mcabber/src/roster.c Sun Aug 31 11:29:04 2008 +0200
@@ -813,6 +813,11 @@
return (display_filter != DFILTER_ALL);
}
+int buddylist_is_status_filtered(enum imstatus status)
+{
+ return display_filter & (1 << status);
+}
+
void buddylist_set_filter(guchar filter)
{
display_filter = filter;
@@ -869,7 +874,8 @@
// - group isn't hidden (shrunk)
// - this is the current_buddy
if (roster_usrelt == roster_current_buddy ||
- display_filter & 1<<buddy_getstatus((gpointer)roster_usrelt, NULL) ||
+ buddylist_is_status_filtered(buddy_getstatus((gpointer)roster_usrelt,
+ NULL)) ||
(buddy_getflags((gpointer)roster_usrelt) &
(ROSTER_FLAG_LOCK | ROSTER_FLAG_USRLOCK | ROSTER_FLAG_MSG))) {
// This user should be added. Maybe the group hasn't been added yet?