]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Only skip applying more X-lines to a user if they have been killed.
authorPeter Powell <petpow@saberuk.com>
Fri, 17 May 2019 08:23:46 +0000 (09:23 +0100)
committerPeter Powell <petpow@saberuk.com>
Fri, 17 May 2019 08:23:46 +0000 (09:23 +0100)
This fixes an issue with the previous commit where if a user had a
non-killing X-line applied to them (e.g. Q-line) they would not
have any further X-lines applied to them.

Thanks to @linuxdaemon for pointing this out.

src/xline.cpp

index f9d94e447b06d7aa24e2618c61e84ae5f3a02ee3..accffb8d0ebaf7ba0181f69b506ed3f2c2f59b86 100644 (file)
@@ -460,7 +460,11 @@ void XLineManager::ApplyLines()
                        if (x->Matches(u))
                        {
                                x->Apply(u);
-                               break;
+
+                               // If applying the X-line has killed the user then don't
+                               // apply any more lines to them.
+                               if (u->quitting)
+                                       break;
                        }
                }
        }