fixed event_neonserv_kick and user-free-after-kick problem
[NeonServV5.git] / src / UserNode.c
index fe68f3e796eb99ca823b70fdfb1fec86a9f723bf..887b9c9b36de9890db5519a9246d4f7684926b68 100644 (file)
@@ -358,9 +358,12 @@ void delUser(struct UserNode* user, int freeUser) {
             removeChanUserFromLists(chanUser, 1, 0, freeUser);
         }
     }
-    if(freeUser)
-        free(user);
-    else
+    if(freeUser) {
+        if(user->flags & USERFLAG_IS_ON_WHO_QUEUE)
+            user->flags |= USERFLAG_FREE_AFTER_WHO;
+        else
+            free(user);
+    } else
         user->next = NULL;
 }