Complete.Org: Mailing Lists: Archives: freeciv-dev: October 2001:
[Freeciv-Dev] Re: [Patch] Extended connect dialog (PR#977)
Home

[Freeciv-Dev] Re: [Patch] Extended connect dialog (PR#977)

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: rf13@xxxxxxxxxxxxxxxxxxxxxx
Cc: Andreas Kemnade <akemnade@xxxxxxxxxxx>, freeciv-dev@xxxxxxxxxxx, bugs@xxxxxxxxxxxxxxxxxxx
Subject: [Freeciv-Dev] Re: [Patch] Extended connect dialog (PR#977)
From: Andreas Kemnade <akemnade@xxxxxxxxxxx>
Date: Fri, 5 Oct 2001 16:33:40 +0200

Raimar Falke writes:
 > On Mon, Oct 01, 2001 at 03:21:00PM +0200, Andreas Kemnade wrote:
 > Content-Description: message body text
 > > Here is a new version of the patch. 
 > > I hope all the issues mentioned before are fixed.
 > > connectdlg_g.h is extended and contains some new functions.
 > > 
 > > This patch is only for the gtk client. I will do the stuff for the
 > > win32 client. 
 > > I haven't done xaw and mui development for a long time, so I can only
 > > provide stubs (and call gui_server_connect() in popup_main_menu).
 > 
 >  - WNOHANG wasn't defined in client/gui-gtk/connectdlg.c
Doesn't running autoheader and autoconf solve the problem?

 >  - in the connect dialog should be a "Back" button
Instead of quit or do you want an extra button?
 >  - I think that the control logic should be in a client/*.c file with
 >  specific gui depended callbacks. Or put the fork/wait/pipe code into common.

The problem is the symbol SOCKET_ZERO_ISNT_STDIN. If we put the stuff into
common, we had to put a lot of #ifdefs into it, too. SIGCHLD has also
to be tested, which leads to additional #ifdefs. That code would
not look very nice. 

start_server_load_game(char *), start_server_for_new_game():
I haven't put them into client/*.c because gui-win32 and gui-mui
clients will certainly have a start_server(char *commandline) function
because the underlying API does not support char **argv. 

I don't think that simple callbacks should have stuff in client/*.c.
example:  new_game_callback
  in connectdlg.c: 
     static void new_game_callback(GtkWidget *w, gpointer data)
     {
       start_new_game();
     }
     void start_new_game_gui(void)
     {
       input_dialog_create(...);
     }
  in client/*.c
     void start_new_game(void)
     {
       start_new_game_gui();
     }

I think this is really not sensible. 

Please explain to me which control logic you would like to have in
client/*.c.

Greetings
Andreas Kemnade


[Prev in Thread] Current Thread [Next in Thread]