fixed ChanUser.c: even remove ChanUser from Channel List if it's invisible
authorpk910 <philipp@zoelle1.de>
Mon, 20 Aug 2012 22:27:10 +0000 (00:27 +0200)
committerpk910 <philipp@zoelle1.de>
Mon, 20 Aug 2012 22:27:10 +0000 (00:27 +0200)
src/ChanUser.c

index d82fc1de2c3aecc50378da431d2bf075aaee762d..24bdaf8fd0c6991573ea07e7fc3f2af9f6c4b4ca 100644 (file)
@@ -123,18 +123,16 @@ void delChanUser(struct ChanUser *chanuser, int do_freeChanUser) {
     SYNCHRONIZE(cache_sync);
     struct ChanUser *cchanuser, *last;
     //remove it from the user's channel-list
-    if(!(chanuser->flags & CHANUSERFLAG_INVISIBLE)) {
-        last = NULL;
-        for(cchanuser = chanuser->user->channel; cchanuser; cchanuser = cchanuser->next_chan) {
-            if(cchanuser == chanuser) {
-                if(last) 
-                    last->next_chan = chanuser->next_chan;
-                else
-                    chanuser->user->channel = chanuser->next_chan;
-                break;
-            } else
-                last = cchanuser;
-        }
+    last = NULL;
+    for(cchanuser = chanuser->user->channel; cchanuser; cchanuser = cchanuser->next_chan) {
+        if(cchanuser == chanuser) {
+            if(last) 
+                last->next_chan = chanuser->next_chan;
+            else
+                chanuser->user->channel = chanuser->next_chan;
+            break;
+        } else
+            last = cchanuser;
     }
 
     //remove it from the channel's user-list