- if (DelLine(line->Displayable(), line->type, user, true))
- return false;
+ if (line->duration && ServerInstance->Time() > line->expiry)
+ return false; // Don't apply expired XLines.
+
+ /* Don't apply duplicate xlines */
+ ContainerIter x = lookup_lines.find(line->type);
+ if (x != lookup_lines.end())
+ {
+ LookupIter i = x->second.find(line->Displayable());
+ if (i != x->second.end())
+ {
+ return false;
+ }
+ }