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

> [EMAIL PROTECTED] - So 02. Sep 2007, 11:17:59]:
> 
>  S2_1.
> 
>  1. Start server
>  2. Start sdl-client
>  3. 'Join game' -> 'Connect'
>  4. Quit server
> 
>  Client does not return to main menu screen, but displays menu and
> "Messages". Is this intentional?
>  Menu works; you can reconnect with it. But "Messages" stays.
> 
> 
>  - ML
> 

Patch attached.
Index: client/gui-sdl/chatline.c
===================================================================
--- client/gui-sdl/chatline.c	(revision 13460)
+++ client/gui-sdl/chatline.c	(working copy)
@@ -66,7 +66,6 @@
   int active;
 } *pConnDlg = NULL;
 
-static bool popdown_conn_list_dialog(void);
 static void popup_conn_list_dialog(void);
 static void add_to_chat_list(Uint16 *pUniStr, size_t n_alloc);
 
@@ -581,7 +580,7 @@
 /**************************************************************************
   ...
 **************************************************************************/
-static bool popdown_conn_list_dialog(void)
+bool popdown_conn_list_dialog(void)
 {
   if (pConnDlg) {
     
Index: client/gui-sdl/chatline.h
===================================================================
--- client/gui-sdl/chatline.h	(revision 13460)
+++ client/gui-sdl/chatline.h	(working copy)
@@ -25,6 +25,7 @@
 #include "chatline_g.h"
 
 void popup_input_line(void);
+bool popdown_conn_list_dialog(void);
 
 #define set_output_window_text( pString )	\
 	append_output_window( pString )
Index: client/gui-sdl/connectdlg.c
===================================================================
--- client/gui-sdl/connectdlg.c	(revision 13460)
+++ client/gui-sdl/connectdlg.c	(working copy)
@@ -132,7 +132,7 @@
     pServer_scan = NULL;
     pServer_list = NULL;
       
-    popup_join_game_dialog();
+    set_client_page(PAGE_NETWORK);
     popup_meswin_dialog(true);
   }    
   return -1;
@@ -281,7 +281,7 @@
       append_output_window(_("No public servers found")); 
     }        
     real_update_meswin_dialog();
-    popup_join_game_dialog();
+    set_client_page(PAGE_NETWORK);
     return;
   }
   
@@ -345,7 +345,7 @@
       append_output_window(_("No public servers found")); 
     }        
     real_update_meswin_dialog();
-    popup_join_game_dialog();
+    set_client_page(PAGE_NETWORK);
     return;
   }
   
Index: client/gui-sdl/pages.c
===================================================================
--- client/gui-sdl/pages.c	(revision 13460)
+++ client/gui-sdl/pages.c	(working copy)
@@ -76,7 +76,6 @@
 {
   if (Main.event.button.button == SDL_BUTTON_LEFT) {
     set_client_page(PAGE_NETWORK);
-    popup_join_game_dialog();
   }
   return -1;
 }
@@ -326,11 +325,16 @@
 **************************************************************************/
 void set_client_page(enum client_pages page)
 {
-
   switch (old_page) {
     case PAGE_MAIN:
       popdown_start_menu();
       break;
+    case PAGE_NETWORK:
+      close_connection_dialog();
+      break;
+    case PAGE_START:
+      popdown_conn_list_dialog();
+      break;
     case PAGE_GAME:
       close_game_page();
       break;
@@ -342,6 +346,9 @@
     case PAGE_MAIN:
       show_main_page();
       break;
+    case PAGE_NETWORK:
+      popup_join_game_dialog();
+      break;
     case PAGE_GAME:
       show_game_page();
       enable_main_widgets();
_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to