]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/u_listmode.h
Change the function name because gcc is dumb :/
[user/henk/code/inspircd.git] / include / u_listmode.h
index a388d7f18207292c4a802d3c49d1e040735608ab..6c6e2ca28fbc63374a5e9c096e824eb390983c48 100644 (file)
@@ -168,7 +168,7 @@ class ListModeBase : public ModeHandler
         * See mode.h
         * @param channel The channel to remove all instances of the mode from
         */
-       virtual void RemoveMode(Channel* channel)
+       virtual void RemoveMode(Channel* channel, irc::modestacker* stack)
        {
                modelist* el;
                channel->GetExt(infokey, el);
@@ -181,9 +181,15 @@ class ListModeBase : public ModeHandler
 
                        for (modelist::iterator it = el->begin(); it != el->end(); it++)
                        {
-                               modestack.Push(this->GetModeChar(), assign(it->mask));
+                               if (stack)
+                                       stack->Push(this->GetModeChar(), assign(it->mask));
+                               else
+                                       modestack.Push(this->GetModeChar(), assign(it->mask));
                        }
 
+                       if (stack)
+                               return;
+
                        while (modestack.GetStackedLine(stackresult))
                        {
                                for (size_t j = 0; j < stackresult.size(); j++)
@@ -198,7 +204,7 @@ class ListModeBase : public ModeHandler
 
        /** See mode.h
         */
-       virtual void RemoveMode(User*)
+       virtual void RemoveMode(User*, irc::modestacker* stack)
        {
                /* Listmodes dont get set on users */
        }