[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdeextragear-2/konversation/konversation
From:       İsmail Dönmez <ismail.donmez () gmail ! com>
Date:       2004-09-21 14:32:20
Message-ID: 20040921143220.3C0CF9BAF () office ! kde ! org
[Download RAW message or body]

CVS commit by cartman: 


Second part of Dalnet fix. Dalnet now works fine with Konvi. Now I can
resume my online dating ;-P


  M +2 -0      inputfilter.cpp   1.143
  M +51 -44    server.cpp   1.312
  M +7 -0      server.h   1.149


--- kdeextragear-2/konversation/konversation/inputfilter.cpp  #1.142:1.143
@@ -949,4 +949,6 @@ void InputFilter::parseServerCommand(con
         // Happens in Dalnet when NickEnforcer is currently holding a nick
         QString newNick=server->getNextNickname();
+        server->addToAllNicks( server->getNickname() ); // See Server::addToAllNicks
+        server->renameNick( server->getNickname(), newNick );
         server->appendStatusMessage(i18n( "Nick" ), i18n("Erroneus nickname. Trying \
%1." ).arg(newNick)) ;  server->queue( "NICK "+newNick );

--- kdeextragear-2/konversation/konversation/server.cpp  #1.311:1.312
@@ -2345,4 +2345,11 @@ void Server::addHostmaskToNick(const QSt
 }
 
+void Server::addToAllNicks( const QString& nickname )
+{
+    QString lcNickname = nickname.lower();
+    NickInfoPtr nickInfo = new NickInfo( nickname,  this );
+    m_allNicks.insert( lcNickname, nickInfo );
+}
+
 void Server::removeNickFromChannel(const QString &channelName, const QString \
&nickname, const QString &reason, bool quit)  {

--- kdeextragear-2/konversation/konversation/server.h  #1.148:1.149
@@ -92,4 +92,11 @@ class Server : public QObject
                           bool admin,bool owner,bool op,bool halfop,bool voice);
     void addHostmaskToNick(const QString &sourceNick, const QString \
&sourceHostmask); +    /**
+     * This function is needed to workaround Dalnet's Nick Enforcer problems where
+     * you can't /nick foo because its hold by Nick Enforcer but /whois foo will \
return +     * nothing either.
+     * @param nickname           The nickname to add to m_allNicks NickInfoMap
+    */
+    void addToAllNicks(const QString& nickname);
     void nickJoinsChannel(const QString &channelName, const QString &nickname, const \
QString &hostmask);  void renameNick(const QString &nickname,const QString &newNick);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic