diff mcabber/src/screen.c @ 120:cfd3df636d5f

[/trunk] Changeset 133 by mikael * Small optimization.
author mikael
date Mon, 25 Apr 2005 20:56:23 +0000
parents d7fbd5293385
children 94b251102069
line wrap: on
line diff
--- a/mcabber/src/screen.c	Mon Apr 25 20:34:59 2005 +0000
+++ b/mcabber/src/screen.c	Mon Apr 25 20:56:23 2005 +0000
@@ -577,7 +577,8 @@
     buddy_setflags(BUDDATA(current_buddy), ROSTER_FLAG_LOCK, TRUE);
 
   // We should rebuild the buddylist but not everytime
-  if (current_buddy && prev_st == offline)
+  if (current_buddy && prev_st == offline &&
+          buddylist_get_hide_offline_buddies())
     buddylist_build();
   if (chatmode)
     scr_ShowBuddyWindow();
@@ -597,7 +598,8 @@
     buddy_setflags(BUDDATA(current_buddy), ROSTER_FLAG_LOCK, TRUE);
 
   // We should rebuild the buddylist but not everytime
-  if (current_buddy && prev_st == offline)
+  if (current_buddy && prev_st == offline &&
+          buddylist_get_hide_offline_buddies())
     buddylist_build();
   if (chatmode)
     scr_ShowBuddyWindow();
@@ -608,14 +610,14 @@
   enum imstatus prev_st;
 
   if (current_buddy) {
-    prev_st = buddy_getstatus(BUDDATA(current_buddy));
     if (g_list_previous(current_buddy)) {
+      prev_st = buddy_getstatus(BUDDATA(current_buddy));
       buddy_setflags(BUDDATA(current_buddy), ROSTER_FLAG_LOCK, FALSE);
       current_buddy = g_list_previous(current_buddy);
       if (chatmode)
         buddy_setflags(BUDDATA(current_buddy), ROSTER_FLAG_LOCK, TRUE);
       // We should rebuild the buddylist but not everytime
-      if (prev_st == offline)
+      if (prev_st == offline && buddylist_get_hide_offline_buddies())
         buddylist_build();
       scr_DrawRoster();
     }
@@ -630,14 +632,14 @@
   enum imstatus prev_st;
 
   if (current_buddy) {
-    prev_st = buddy_getstatus(BUDDATA(current_buddy));
     if (g_list_next(current_buddy)) {
+      prev_st = buddy_getstatus(BUDDATA(current_buddy));
       buddy_setflags(BUDDATA(current_buddy), ROSTER_FLAG_LOCK, FALSE);
       current_buddy = g_list_next(current_buddy);
       if (chatmode)
         buddy_setflags(BUDDATA(current_buddy), ROSTER_FLAG_LOCK, TRUE);
       // We should rebuild the buddylist but not everytime
-      if (prev_st == offline)
+      if (prev_st == offline && buddylist_get_hide_offline_buddies())
         buddylist_build();
       scr_DrawRoster();
     }