Просмотр исходного кода

* Port [3435] to 1.2.14
* Fix +nomassjoin not respecting 'chanset chanmode'



svn: 3436

Bryan Drewery 19 лет назад
Родитель
Сommit
7a8e5001f2
1 измененных файлов с 4 добавлено и 4 удалено
  1. 4 4
      src/mod/irc.mod/irc.c

+ 4 - 4
src/mod/irc.mod/irc.c

@@ -119,9 +119,9 @@ void unlock_chan(struct chanset_t *chan)
 {
   if (chan->channel.drone_set_mode) {
     char buf[3] = "", *p = buf;
-    if (chan->channel.drone_set_mode & CHANINV)
+    if ((chan->channel.drone_set_mode & CHANINV) && !(chan->mode_pls_prot & CHANINV))
       *p++ = 'i';
-    if (chan->channel.drone_set_mode & CHANMODER)
+    if ((chan->channel.drone_set_mode & CHANMODER) && !(chan->mode_pls_prot & CHANMODER))
       *p++ = 'm';
     *p = 0;
     dprintf(DP_MODE, "MODE %s :-%s\n", chan->name[0] ? chan->name : chan->dname, buf);
@@ -136,11 +136,11 @@ void detected_drone_flood(struct chanset_t* chan, memberlist* m) {
 
   char buf[3] = "", *p = buf;
 
-  if (!(chan->channel.mode & CHANINV)) {
+  if (!(chan->channel.mode & CHANINV) && !(chan->mode_mns_prot & CHANINV)) {
     chan->channel.drone_set_mode |= CHANINV;
     *p++ = 'i';
   }
-  if (!(chan->channel.mode & CHANMODER)) {
+  if (!(chan->channel.mode & CHANMODER) && !(chan->mode_mns_prot & CHANMODER)) {
     chan->channel.drone_set_mode |= CHANMODER;
     *p++ = 'm';
   }