Merge branch 'master' into IOMultiplexer
authorpk910 <philipp@zoelle1.de>
Sat, 25 Aug 2012 19:23:29 +0000 (21:23 +0200)
committerpk910 <philipp@zoelle1.de>
Sat, 25 Aug 2012 19:23:29 +0000 (21:23 +0200)
src/IRCParser.c

index f9e79e0c127c720b34a67f96db5217334d0a2738..2d9fbbf5b815cea2dc3c164a56ef5c2aba04cbb6 100644 (file)
@@ -171,7 +171,7 @@ static IRC_CMD(raw_join) {
         event_registered(user, from);
         user->flags &= ~USERFLAG_WAS_REGISTERING;
     } else if(!(chan->flags & CHANFLAG_RECEIVED_USERLIST)) {
-        if(!isBot(user)) {
+        if(client->user != user) { //bots are allowed to add themselves
             DESYNCHRONIZE(cache_sync);
             return 1; //ignore join
         }
@@ -396,7 +396,7 @@ static IRC_CMD(raw_quit) {
     for(chanuser = getUserChannels(user, NULL); chanuser; chanuser = next_chanuser) {
         next_chanuser = getUserChannels(user, chanuser);
         chanuser->visCount--;
-        if(chanuser->visCount <= 0) {
+        if(chanuser->visCount <= 0 && !(user->flags & USERFLAG_WAS_REGISTERING)) {
             delChanUser(chanuser, 0); //not free, yet!
             event_part(chanuser, 1, argv[0]);
             if((chanuser->chan->flags & CHANFLAG_RECEIVED_USERLIST) && !(chanuser->chan->flags & CHANFLAG_REJOINING))