Stopped Quassel from Segfaulting on 2nd+ connect to cores.
authorMarcus Eggenberger <egs@quassel-irc.org>
Sat, 2 Feb 2008 19:30:33 +0000 (19:30 +0000)
committerMarcus Eggenberger <egs@quassel-irc.org>
Sat, 2 Feb 2008 19:30:33 +0000 (19:30 +0000)
!slap Sput

src/qtui/mainwin.cpp
version.inc

index c0b6110..2d980dc 100644 (file)
@@ -349,7 +349,6 @@ void MainWin::clientNetworkCreated(NetworkId id) {
   foreach(QAction *a, networkActions) ui.menuNetworks->addAction(a);
   ui.menuNetworks->addSeparator();
   ui.menuNetworks->addAction(actionEditNetworks);
   foreach(QAction *a, networkActions) ui.menuNetworks->addAction(a);
   ui.menuNetworks->addSeparator();
   ui.menuNetworks->addAction(actionEditNetworks);
-
 }
 
 void MainWin::clientNetworkUpdated() {
 }
 
 void MainWin::clientNetworkUpdated() {
@@ -374,11 +373,14 @@ void MainWin::clientNetworkUpdated() {
 }
 
 void MainWin::clientNetworkRemoved(NetworkId id) {
 }
 
 void MainWin::clientNetworkRemoved(NetworkId id) {
-  foreach(QAction *a, networkActions) {
-    if(a->data().value<NetworkId>() == id) {
-      a->deleteLater();
-      break;
-    }
+  QList<QAction *>::iterator actionIter = networkActions.begin();;
+  QAction *action;
+  while(actionIter != networkActions.end()) {
+    action = *actionIter;
+    if(action->data().value<NetworkId>() == id)
+      actionIter = networkActions.erase(actionIter);
+    else
+      actionIter++;
   }
 }
 
   }
 }
 
index 27cb792..05c6e71 100644 (file)
@@ -5,7 +5,7 @@
 
   quasselVersion = "0.2.0-pre";
   quasselDate = "2008-02-02";
 
   quasselVersion = "0.2.0-pre";
   quasselDate = "2008-02-02";
-  quasselBuild = 439;
+  quasselBuild = 440;
 
   //! Minimum client build number the core needs
   clientBuildNeeded = 435;
 
   //! Minimum client build number the core needs
   clientBuildNeeded = 435;