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

List:       kde-commits
Subject:    [Konversation] 8977ebb: With USE_NICKINFO turned on,
From:       Gary Cramblitt <garycramblitt () comcast ! net>
Date:       2010-07-01 13:27:46
Message-ID: 20100701132746.92289BB56BA () projects ! kde ! org
[Download RAW message or body]

commit 8977ebb95473c39f8e679d34f77156fbf0398caa
Author: Gary Cramblitt <garycramblitt@comcast.net>
Date:   Mon Aug 2 23:41:45 2004 +0000

    With USE_NICKINFO turned on, fix crash when a watched nick goes offline.  \
Invalidated iterator.  
    svn path=/trunk/kdeextragear-2/konversation/; revision=335356

diff --git a/konversation/server.cpp b/konversation/server.cpp
index 69ad647..e2321c2 100644
--- a/konversation/server.cpp
+++ b/konversation/server.cpp
@@ -705,18 +705,22 @@ void Server::notifyResponse(const QString& nicksOnline)
     }
     // Any watched nicks now offline?
     NickInfoMap::Iterator it;
-    NickInfoPtr nickInfo;
-    for( it = nicknamesOnline.begin() ; it != nicknamesOnline.end(); ++it )
+    it = nicknamesOnline.begin();
+    while (it != nicknamesOnline.end())
     {
-      if (nickLowerList.find(it.key()) == nickLowerList.end())
+      QString lcNickName = it.key();
+      ++it;
+      if (nickLowerList.find(lcNickName) == nickLowerList.end())
       {
+        NickInfoPtr nickInfo = getNickInfo(lcNickName);
+        QString nickName = nickInfo->getNickname();
         nicksOnlineChanged = true;
-        addNickToOfflineList(nickInfo->getNickname(), watchLowerList);
-        getMainWindow()->appendToFrontmost(i18n("Notify"),i18n("%1 went offline. \
(%2)").arg(nickInfo->getNickname()).arg(getServerName()),statusView); +        \
addNickToOfflineList(nickName, watchLowerList); +        \
getMainWindow()->appendToFrontmost(i18n("Notify"),i18n("%1 went offline. \
(%2)").arg(nickName).arg(getServerName()),statusView);  
 #ifdef USE_KNOTIFY
         KNotifyClient::event(mainWindow->winId(), "notify",
-          i18n("%1 went offline. \
(%2)").arg(nickInfo->getNickname()).arg(getServerName())); +          i18n("%1 went \
offline. (%2)").arg(nickName).arg(getServerName()));  #endif
       }
     }


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

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