<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40256 >

Here is a minimal patch that addresses the problem.

The server "scan" was only being stopped when changing from
the network page. While it was would be "running" (really
just idling after having received the full response), the
function update_network_lists (which the refresh button is
tied to) would always do nothing.

The patch changes update_network_lists to cancel the scan
if it is running and issue a new one.

Bug affects S2_1, S2_2 and trunk. Patch applies to all of them.


----------------------------------------------------------------------
どうしてスカンと呼ぶことにしましたか。
diff --git a/client/gui-gtk-2.0/pages.c b/client/gui-gtk-2.0/pages.c
index 6eed46c..6444209 100644
--- a/client/gui-gtk-2.0/pages.c
+++ b/client/gui-gtk-2.0/pages.c
@@ -393,11 +393,13 @@ static void update_network_lists(void)
     lan = server_scan_begin(SERVER_SCAN_LOCAL, server_scan_error);
   }
 
-  if (scan_timer == 0) { 
-    scan_timer = g_timeout_add_full(G_PRIORITY_DEFAULT, 100,
-				    get_server_scan_list,
-				    NULL, get_server_scan_destroy);
+  if (scan_timer != 0) {
+    g_source_remove(scan_timer);
   }
+
+  scan_timer = g_timeout_add_full(G_PRIORITY_DEFAULT, 100,
+                                  get_server_scan_list,
+                                  NULL, get_server_scan_destroy);
 }
 
 /**************************************************************************
_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to