[pan2] Bug 596682: Don't queue xover for 0 connections



commit 8857244c1ee066edbe835e744fecc2cad380e4ba
Author: Charles Kerr <charles rebelbase com>
Date:   Tue Sep 29 10:43:32 2009 -0500

    Bug 596682: Don't queue xover for 0 connections

 pan/gui/gui.cc          |    5 +++--
 pan/gui/pan.cc          |    3 ++-
 pan/tasks/task-xover.cc |   11 ++++++-----
 3 files changed, 11 insertions(+), 8 deletions(-)
---
diff --git a/pan/gui/gui.cc b/pan/gui/gui.cc
index ec39739..e64a830 100644
--- a/pan/gui/gui.cc
+++ b/pan/gui/gui.cc
@@ -913,7 +913,7 @@ void GUI :: server_list_dialog_destroyed (GtkWidget *)
   foreach_const (quarks_t, all_servers, it) {
     quarks_t tmp;
     _data.server_get_groups (*it, tmp);
-    if (tmp.empty())
+    if (tmp.empty() && _data.get_server_limits(*it))
       _queue.add_task (new TaskGroups (_data, *it));
   }
 }
@@ -1587,7 +1587,8 @@ void GUI :: do_refresh_groups ()
 
   const quarks_t servers (_data.get_servers ());
   foreach_const_r (quarks_t, servers, it)
-    tasks.push_back (new TaskGroups (_data, *it));
+    if (_data.get_server_limits(*it))
+      tasks.push_back (new TaskGroups (_data, *it));
 
   if (!tasks.empty())
     _queue.add_tasks (tasks);
diff --git a/pan/gui/pan.cc b/pan/gui/pan.cc
index bc54c0c..7145f6e 100644
--- a/pan/gui/pan.cc
+++ b/pan/gui/pan.cc
@@ -108,7 +108,8 @@ namespace
     DataAndQueue * foo (static_cast<DataAndQueue*>(user_data));
     const quarks_t new_servers (foo->data->get_servers());
     foreach_const (quarks_t, new_servers, it)
-      foo->queue->add_task (new TaskGroups (*foo->data, *it));
+      if (foo->data->get_server_limits(*it))
+        foo->queue->add_task (new TaskGroups (*foo->data, *it));
     g_free (foo);
   }
 
diff --git a/pan/tasks/task-xover.cc b/pan/tasks/task-xover.cc
index 3affae1..40b292f 100644
--- a/pan/tasks/task-xover.cc
+++ b/pan/tasks/task-xover.cc
@@ -97,17 +97,18 @@ TaskXOver :: TaskXOver (Data         & data,
   debug ("ctor for " << group);
 
   // add a ``GROUP'' MiniTask for each server that has this group
+  // initialize the _high lookup table to boundaries
   const MiniTask group_minitask (MiniTask::GROUP);
   quarks_t servers;
   _data.group_get_servers (group, servers);
   foreach_const (quarks_t, servers, it)
-    _server_to_minitasks[*it].push_front (group_minitask);
+    if (_data.get_server_limits(*it))
+    {
+      _server_to_minitasks[*it].push_front (group_minitask);
+      _high[*it] = data.get_xover_high (group, *it);
+    }
   init_steps (0);
 
-  // initialize the _high lookup table to boundaries
-  foreach_const (quarks_t, servers, it)
-    _high[*it] = data.get_xover_high (group, *it);
-
   // tell the users what we're up to
   set_status (group.c_str());
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]