tGTK+ client now uses non-blocking code for metaserver. Relevant menus now use … | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit bce5d9d56bd8cd0ef9bdb81fac746430140d34da | |
parent 82bba80eb18e42f467ac48c59d6222711170cb70 | |
Author: Ben Webb <[email protected]> | |
Date: Sun, 9 Sep 2001 21:39:43 +0000 | |
GTK+ client now uses non-blocking code for metaserver. Relevant menus now use "… | |
Diffstat: | |
M po/de.po | 48 ++++++++++++++++-------------… | |
M po/fr.po | 46 ++++++++++++++++-------------… | |
M po/pl.po | 48 ++++++++++++++++-------------… | |
M po/pt_BR.po | 48 ++++++++++++++++-------------… | |
M src/gtk_client.c | 101 ++++++++++++++++++++++-------… | |
5 files changed, 169 insertions(+), 122 deletions(-) | |
--- | |
diff --git a/po/de.po b/po/de.po | |
t@@ -1654,68 +1654,68 @@ msgid "/_Game" | |
msgstr "/_Spiel" | |
#: src/gtk_client.c:147 | |
-msgid "/Game/_New" | |
-msgstr "/Spiel/_Neu" | |
+msgid "/Game/_New..." | |
+msgstr "/Spiel/_Neu..." | |
#: src/gtk_client.c:148 | |
-msgid "/Game/_Quit" | |
-msgstr "/Spiel/_Ende" | |
+msgid "/Game/_Quit..." | |
+msgstr "/Spiel/_Ende..." | |
#: src/gtk_client.c:149 | |
msgid "/_Talk" | |
msgstr "/_Mitteilung" | |
#: src/gtk_client.c:150 | |
-msgid "/Talk/To _All" | |
-msgstr "/Mitteilung/An _Alle" | |
+msgid "/Talk/To _All..." | |
+msgstr "/Mitteilung/An _Alle..." | |
#: src/gtk_client.c:151 | |
-msgid "/Talk/To _Player" | |
-msgstr "/Mitteilung/An _Spieler" | |
+msgid "/Talk/To _Player..." | |
+msgstr "/Mitteilung/An _Spieler..." | |
#: src/gtk_client.c:152 | |
msgid "/_List" | |
msgstr "/_Anzeigen" | |
#: src/gtk_client.c:153 | |
-msgid "/List/_Players" | |
-msgstr "/Anzeigen/der _Spieler" | |
+msgid "/List/_Players..." | |
+msgstr "/Anzeigen/der _Spieler..." | |
#: src/gtk_client.c:154 | |
-msgid "/List/_Scores" | |
-msgstr "/Anzeigen/der _Punkte" | |
+msgid "/List/_Scores..." | |
+msgstr "/Anzeigen/der _Punkte..." | |
#: src/gtk_client.c:155 | |
-msgid "/List/_Inventory" | |
-msgstr "/Anzeigen/des _Inventars" | |
+msgid "/List/_Inventory..." | |
+msgstr "/Anzeigen/des _Inventars..." | |
#: src/gtk_client.c:156 | |
msgid "/_Errands" | |
msgstr "/_Aktionen" | |
#: src/gtk_client.c:157 | |
-msgid "/Errands/_Spy" | |
-msgstr "/Aktionen/_Spionieren" | |
+msgid "/Errands/_Spy..." | |
+msgstr "/Aktionen/_Spionieren..." | |
#: src/gtk_client.c:158 | |
-msgid "/Errands/_Tipoff" | |
-msgstr "/Aktionen/_Verpfeifen" | |
+msgid "/Errands/_Tipoff..." | |
+msgstr "/Aktionen/_Verpfeifen..." | |
#: src/gtk_client.c:159 | |
-msgid "/Errands/Sack _Bitch" | |
-msgstr "/Aktionen/T�te _Hure" | |
+msgid "/Errands/Sack _Bitch..." | |
+msgstr "/Aktionen/T�te _Hure..." | |
#: src/gtk_client.c:160 | |
-msgid "/Errands/_Get spy reports" | |
-msgstr "/Aktionen/_Lese Spionagereport" | |
+msgid "/Errands/_Get spy reports..." | |
+msgstr "/Aktionen/_Lese Spionagereport..." | |
#: src/gtk_client.c:161 | |
msgid "/_Help" | |
msgstr "/_Hilfe" | |
#: src/gtk_client.c:162 | |
-msgid "/Help/_About" | |
-msgstr "/Hilfe/_Ueber" | |
+msgid "/Help/_About..." | |
+msgstr "/Hilfe/_Ueber..." | |
#. Titles of the message boxes for warnings and errors | |
#: src/gtk_client.c:174 | |
diff --git a/po/fr.po b/po/fr.po | |
t@@ -1660,11 +1660,11 @@ msgid "/_Game" | |
msgstr "/_Jeu" | |
#: src/gtk_client.c:147 | |
-msgid "/Game/_New" | |
-msgstr "/Jeu/_Nouveau" | |
+msgid "/Game/_New..." | |
+msgstr "/Jeu/_Nouveau..." | |
#: src/gtk_client.c:148 | |
-msgid "/Game/_Quit" | |
+msgid "/Game/_Quit..." | |
msgstr "/Jeu/_Quitter" | |
#: src/gtk_client.c:149 | |
t@@ -1672,56 +1672,56 @@ msgid "/_Talk" | |
msgstr "/_Parler" | |
#: src/gtk_client.c:150 | |
-msgid "/Talk/To _All" | |
-msgstr "/Parler/A _Tous" | |
+msgid "/Talk/To _All..." | |
+msgstr "/Parler/A _Tous..." | |
#: src/gtk_client.c:151 | |
-msgid "/Talk/To _Player" | |
-msgstr "/Parler/A _joueur" | |
+msgid "/Talk/To _Player..." | |
+msgstr "/Parler/A _joueur..." | |
#: src/gtk_client.c:152 | |
msgid "/_List" | |
msgstr "/_Liste" | |
#: src/gtk_client.c:153 | |
-msgid "/List/_Players" | |
-msgstr "/Liste/_Joueurs" | |
+msgid "/List/_Players..." | |
+msgstr "/Liste/_Joueurs..." | |
#: src/gtk_client.c:154 | |
-msgid "/List/_Scores" | |
-msgstr "/Liste/_Scores" | |
+msgid "/List/_Scores..." | |
+msgstr "/Liste/_Scores..." | |
#: src/gtk_client.c:155 | |
-msgid "/List/_Inventory" | |
-msgstr "/Liste/_Inventaire" | |
+msgid "/List/_Inventory..." | |
+msgstr "/Liste/_Inventaire..." | |
#: src/gtk_client.c:156 | |
msgid "/_Errands" | |
msgstr "/_Taches" | |
#: src/gtk_client.c:157 | |
-msgid "/Errands/_Spy" | |
-msgstr "/Taches/_Espionner" | |
+msgid "/Errands/_Spy..." | |
+msgstr "/Taches/_Espionner..." | |
#: src/gtk_client.c:158 | |
-msgid "/Errands/_Tipoff" | |
-msgstr "/Taches/_Balancer" | |
+msgid "/Errands/_Tipoff..." | |
+msgstr "/Taches/_Balancer..." | |
#: src/gtk_client.c:159 | |
-msgid "/Errands/Sack _Bitch" | |
-msgstr "/Taches/Balancer _Salope" | |
+msgid "/Errands/Sack _Bitch..." | |
+msgstr "/Taches/Balancer _Salope..." | |
#: src/gtk_client.c:160 | |
-msgid "/Errands/_Get spy reports" | |
-msgstr "/Taches/_Rapports des espions" | |
+msgid "/Errands/_Get spy reports..." | |
+msgstr "/Taches/_Rapports des espions..." | |
#: src/gtk_client.c:161 | |
msgid "/_Help" | |
msgstr "/_Aide" | |
#: src/gtk_client.c:162 | |
-msgid "/Help/_About" | |
-msgstr "/Aide/_A propos" | |
+msgid "/Help/_About..." | |
+msgstr "/Aide/_A propos..." | |
#. Titles of the message boxes for warnings and errors | |
#: src/gtk_client.c:174 | |
diff --git a/po/pl.po b/po/pl.po | |
t@@ -1651,68 +1651,68 @@ msgid "/_Game" | |
msgstr "/_Gra" | |
#: src/gtk_client.c:147 | |
-msgid "/Game/_New" | |
-msgstr "/Gra/_Nowa" | |
+msgid "/Game/_New..." | |
+msgstr "/Gra/_Nowa..." | |
#: src/gtk_client.c:148 | |
-msgid "/Game/_Quit" | |
-msgstr "/Gra/_Wyj�cie" | |
+msgid "/Game/_Quit..." | |
+msgstr "/Gra/_Wyj�cie..." | |
#: src/gtk_client.c:149 | |
msgid "/_Talk" | |
msgstr "/_Rozmowa" | |
#: src/gtk_client.c:150 | |
-msgid "/Talk/To _All" | |
-msgstr "/Rozmowa/Ze _Wszystkimi" | |
+msgid "/Talk/To _All..." | |
+msgstr "/Rozmowa/Ze _Wszystkimi..." | |
#: src/gtk_client.c:151 | |
-msgid "/Talk/To _Player" | |
-msgstr "/Rozmowa/Z _Graczem" | |
+msgid "/Talk/To _Player..." | |
+msgstr "/Rozmowa/Z _Graczem..." | |
#: src/gtk_client.c:152 | |
msgid "/_List" | |
msgstr "/Z_obacz" | |
#: src/gtk_client.c:153 | |
-msgid "/List/_Players" | |
-msgstr "/Zobacz/_Graczy" | |
+msgid "/List/_Players..." | |
+msgstr "/Zobacz/_Graczy..." | |
#: src/gtk_client.c:154 | |
-msgid "/List/_Scores" | |
-msgstr "/Zobacz/_Wynik" | |
+msgid "/List/_Scores..." | |
+msgstr "/Zobacz/_Wynik..." | |
#: src/gtk_client.c:155 | |
-msgid "/List/_Inventory" | |
-msgstr "/Zobacz/_Plecak" | |
+msgid "/List/_Inventory..." | |
+msgstr "/Zobacz/_Plecak..." | |
#: src/gtk_client.c:156 | |
msgid "/_Errands" | |
msgstr "/_Zlecenia" | |
#: src/gtk_client.c:157 | |
-msgid "/Errands/_Spy" | |
-msgstr "/Zlecenia/_Szpiegowanie" | |
+msgid "/Errands/_Spy..." | |
+msgstr "/Zlecenia/_Szpiegowanie..." | |
#: src/gtk_client.c:158 | |
-msgid "/Errands/_Tipoff" | |
-msgstr "/Zlecenia/_Zasadzka" | |
+msgid "/Errands/_Tipoff..." | |
+msgstr "/Zlecenia/_Zasadzka..." | |
#: src/gtk_client.c:159 | |
-msgid "/Errands/Sack _Bitch" | |
-msgstr "/Zlecenia/Zwolnij _dziwk�" | |
+msgid "/Errands/Sack _Bitch..." | |
+msgstr "/Zlecenia/Zwolnij _dziwk�..." | |
#: src/gtk_client.c:160 | |
-msgid "/Errands/_Get spy reports" | |
-msgstr "/Zlecenia/_Raport szpiegowski" | |
+msgid "/Errands/_Get spy reports..." | |
+msgstr "/Zlecenia/_Raport szpiegowski..." | |
#: src/gtk_client.c:161 | |
msgid "/_Help" | |
msgstr "/_Pomoc" | |
#: src/gtk_client.c:162 | |
-msgid "/Help/_About" | |
-msgstr "/Pomoc/_O programie" | |
+msgid "/Help/_About..." | |
+msgstr "/Pomoc/_O programie..." | |
#. Titles of the message boxes for warnings and errors | |
#: src/gtk_client.c:174 | |
diff --git a/po/pt_BR.po b/po/pt_BR.po | |
t@@ -1662,68 +1662,68 @@ msgid "/_Game" | |
msgstr "/_Jogo" | |
#: src/gtk_client.c:147 | |
-msgid "/Game/_New" | |
-msgstr "/Jogo/_Novo" | |
+msgid "/Game/_New..." | |
+msgstr "/Jogo/_Novo..." | |
#: src/gtk_client.c:148 | |
-msgid "/Game/_Quit" | |
-msgstr "/Jogo/_Sair" | |
+msgid "/Game/_Quit..." | |
+msgstr "/Jogo/_Sair..." | |
#: src/gtk_client.c:149 | |
msgid "/_Talk" | |
msgstr "/_Falar" | |
#: src/gtk_client.c:150 | |
-msgid "/Talk/To _All" | |
-msgstr "/Falar/Para _Todos" | |
+msgid "/Talk/To _All..." | |
+msgstr "/Falar/Para _Todos..." | |
#: src/gtk_client.c:151 | |
-msgid "/Talk/To _Player" | |
-msgstr "/Falar/Para um _Jogador" | |
+msgid "/Talk/To _Player..." | |
+msgstr "/Falar/Para um _Jogador..." | |
#: src/gtk_client.c:152 | |
msgid "/_List" | |
msgstr "/_Listar" | |
#: src/gtk_client.c:153 | |
-msgid "/List/_Players" | |
-msgstr "/Listar/_Jogadores" | |
+msgid "/List/_Players..." | |
+msgstr "/Listar/_Jogadores..." | |
#: src/gtk_client.c:154 | |
-msgid "/List/_Scores" | |
-msgstr "/Listar/_Pontua�es" | |
+msgid "/List/_Scores..." | |
+msgstr "/Listar/_Pontua�es..." | |
#: src/gtk_client.c:155 | |
-msgid "/List/_Inventory" | |
-msgstr "/Listar/_Invent�rio" | |
+msgid "/List/_Inventory..." | |
+msgstr "/Listar/_Invent�rio..." | |
#: src/gtk_client.c:156 | |
msgid "/_Errands" | |
msgstr "/_Trabalhos" | |
#: src/gtk_client.c:157 | |
-msgid "/Errands/_Spy" | |
-msgstr "/Trabalhos/_Espionar" | |
+msgid "/Errands/_Spy..." | |
+msgstr "/Trabalhos/_Espionar..." | |
#: src/gtk_client.c:158 | |
-msgid "/Errands/_Tipoff" | |
-msgstr "/Trabalhos/_Atrair" | |
+msgid "/Errands/_Tipoff..." | |
+msgstr "/Trabalhos/_Atrair..." | |
#: src/gtk_client.c:159 | |
-msgid "/Errands/Sack _Bitch" | |
-msgstr "/Trabalhos/Demitir _Puta" | |
+msgid "/Errands/Sack _Bitch..." | |
+msgstr "/Trabalhos/Demitir _Puta..." | |
#: src/gtk_client.c:160 | |
-msgid "/Errands/_Get spy reports" | |
-msgstr "/Trabalhos/_Pegar informa�es de espionagem" | |
+msgid "/Errands/_Get spy reports..." | |
+msgstr "/Trabalhos/_Pegar informa�es de espionagem..." | |
#: src/gtk_client.c:161 | |
msgid "/_Help" | |
msgstr "/_Ajudar" | |
#: src/gtk_client.c:162 | |
-msgid "/Help/_About" | |
-msgstr "/Ajudar/_Sobre" | |
+msgid "/Help/_About..." | |
+msgstr "/Ajudar/_Sobre..." | |
#. Titles of the message boxes for warnings and errors | |
#: src/gtk_client.c:174 | |
diff --git a/src/gtk_client.c b/src/gtk_client.c | |
t@@ -74,9 +74,9 @@ struct ClientDataStruct { | |
static struct ClientDataStruct ClientData; | |
static gboolean InGame=FALSE; | |
-#ifdef NETWORKING | |
+/*#ifdef NETWORKING | |
static gboolean MetaServerRead=FALSE; | |
-#endif | |
+#endif*/ | |
static GtkWidget *FightDialog=NULL,*SpyReportsDialog; | |
static gboolean IsShowingPlayerList=FALSE,IsShowingTalkList=FALSE, | |
t@@ -144,22 +144,22 @@ static void DisplaySpyReports(Player *Play); | |
static GtkItemFactoryEntry menu_items[] = { | |
/* The names of the the menus and their items in the GTK+ client */ | |
{ N_("/_Game"),NULL,NULL,0,"<Branch>" }, | |
- { N_("/Game/_New"),"<control>N",NewGame,0,NULL }, | |
- { N_("/Game/_Quit"),"<control>Q",QuitGame,0,NULL }, | |
+ { N_("/Game/_New..."),"<control>N",NewGame,0,NULL }, | |
+ { N_("/Game/_Quit..."),"<control>Q",QuitGame,0,NULL }, | |
{ N_("/_Talk"),NULL,NULL,0,"<Branch>" }, | |
- { N_("/Talk/To _All"),NULL,TalkToAll,0,NULL }, | |
- { N_("/Talk/To _Player"),NULL,TalkToPlayers,0,NULL }, | |
+ { N_("/Talk/To _All..."),NULL,TalkToAll,0,NULL }, | |
+ { N_("/Talk/To _Player..."),NULL,TalkToPlayers,0,NULL }, | |
{ N_("/_List"),NULL,NULL,0,"<Branch>" }, | |
- { N_("/List/_Players"),NULL,ListPlayers,0,NULL }, | |
- { N_("/List/_Scores"),NULL,ListScores,0,NULL }, | |
- { N_("/List/_Inventory"),NULL,ListInventory,0,NULL }, | |
+ { N_("/List/_Players..."),NULL,ListPlayers,0,NULL }, | |
+ { N_("/List/_Scores..."),NULL,ListScores,0,NULL }, | |
+ { N_("/List/_Inventory..."),NULL,ListInventory,0,NULL }, | |
{ N_("/_Errands"),NULL,NULL,0,"<Branch>" }, | |
- { N_("/Errands/_Spy"),NULL,SpyOnPlayer,0,NULL }, | |
- { N_("/Errands/_Tipoff"),NULL,TipOff,0,NULL }, | |
- { N_("/Errands/Sack _Bitch"),NULL,SackBitch,0,NULL }, | |
- { N_("/Errands/_Get spy reports"),NULL,GetSpyReports,0,NULL }, | |
+ { N_("/Errands/_Spy..."),NULL,SpyOnPlayer,0,NULL }, | |
+ { N_("/Errands/_Tipoff..."),NULL,TipOff,0,NULL }, | |
+ { N_("/Errands/Sack _Bitch..."),NULL,SackBitch,0,NULL }, | |
+ { N_("/Errands/_Get spy reports..."),NULL,GetSpyReports,0,NULL }, | |
{ N_("/_Help"),NULL,NULL,0,"<LastBranch>" }, | |
- { N_("/Help/_About"),"F1",display_intro,0,NULL } | |
+ { N_("/Help/_About..."),"F1",display_intro,0,NULL } | |
}; | |
static gchar *MenuTranslate(const gchar *path,gpointer func_data) { | |
t@@ -282,6 +282,7 @@ void GetClientMessage(gpointer data,gint socket, | |
g_warning(_("Connection to server lost - switching to " | |
"single player mode")); | |
SwitchToSinglePlayer(ClientData.Play); | |
+ UpdateMenus(); | |
} | |
} | |
} | |
t@@ -327,12 +328,14 @@ void HandleClientMessage(char *pt,Player *Play) { | |
/* The server admin has asked us to leave - so warn the user, and do so */ | |
g_warning(_("You have been pushed from the server.")); | |
SwitchToSinglePlayer(Play); | |
+ UpdateMenus(); | |
break; | |
case C_QUIT: | |
if (Network) gdk_input_remove(ClientData.GdkInputTag); | |
/* The server has sent us notice that it is shutting down */ | |
g_warning(_("The server has terminated.")); | |
SwitchToSinglePlayer(Play); | |
+ UpdateMenus(); | |
break; | |
case C_NEWNAME: | |
NewNameDialog(); break; | |
t@@ -381,7 +384,7 @@ void HandleClientMessage(char *pt,Player *Play) { | |
break; | |
case C_ENDLIST: | |
MenuItem=gtk_item_factory_get_widget(ClientData.Menu, | |
- "<main>/Errands/Spy"); | |
+ "<main>/Errands/Spy..."); | |
/* Text to update the Errands/Spy menu item with the price for spying */ | |
text=dpg_strdup_printf(_("_Spy\t(%P)"),Prices.Spy); | |
t@@ -391,7 +394,7 @@ void HandleClientMessage(char *pt,Player *Play) { | |
/* Text to update the Errands/Tipoff menu item with the price for a tipoff */ | |
text=dpg_strdup_printf(_("_Tipoff\t(%P)"),Prices.Tipoff); | |
MenuItem=gtk_item_factory_get_widget(ClientData.Menu, | |
- "<main>/Errands/Tipoff"); | |
+ "<main>/Errands/Tipoff..."); | |
SetAccelerator(MenuItem,text,NULL,NULL,NULL); | |
g_free(text); | |
if (FirstClient->next) ListPlayers(NULL,NULL); | |
t@@ -1597,17 +1600,17 @@ void UpdateMenus() { | |
gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu, | |
"<main>/List"),InGame); | |
gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu, | |
- "<main>/List/Players"),InGame && Network); | |
+ "<main>/List/Players..."),InGame && Network); | |
gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu, | |
"<main>/Errands"),InGame); | |
gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu, | |
- "<main>/Errands/Spy"),InGame && MultiPlayer); | |
+ "<main>/Errands/Spy..."),InGame && MultiPlayer); | |
gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu, | |
- "<main>/Errands/Tipoff"),InGame && MultiPlayer); | |
+ "<main>/Errands/Tipoff..."),InGame && MultiPlayer); | |
gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu, | |
- "<main>/Errands/Sack Bitch"),Bitches>0); | |
+ "<main>/Errands/Sack Bitch..."),Bitches>0); | |
gtk_widget_set_sensitive(gtk_item_factory_get_widget(ClientData.Menu, | |
- "<main>/Errands/Get spy reports"), | |
+ "<main>/Errands/Get spy reports..."), | |
InGame && MultiPlayer); | |
} | |
t@@ -1881,7 +1884,8 @@ _("\nFor information on the command line options, type d… | |
struct StartGameStruct { | |
GtkWidget *dialog,*name,*hostname,*port,*antique,*status,*metaserv; | |
- gint ConnectTag; | |
+ gint ConnectTag,MetaTag; | |
+ HttpConnection *MetaConn; | |
}; | |
#ifdef NETWORKING | |
t@@ -1976,11 +1980,47 @@ static void FillMetaServerList(struct StartGameStruct … | |
gtk_clist_thaw(GTK_CLIST(metaserv)); | |
} | |
+static void HandleMetaSock(gpointer data,gint socket, | |
+ GdkInputCondition condition) { | |
+ struct StartGameStruct *widgets; | |
+ gboolean DoneOK; | |
+ | |
+ widgets=(struct StartGameStruct *)data; | |
+ if (!widgets->MetaConn) return; | |
+ | |
+ if (NetBufHandleNetwork(&widgets->MetaConn->NetBuf,condition&GDK_INPUT_READ, | |
+ condition&GDK_INPUT_WRITE,&DoneOK)) { | |
+ while (HandleWaitingMetaServerData(widgets->MetaConn)) {} | |
+ } | |
+ if (!DoneOK) { | |
+ g_print("Metaserver communicated closed\n"); | |
+ gdk_input_remove(widgets->MetaTag); | |
+ CloseHttpConnection(widgets->MetaConn); | |
+ widgets->MetaTag=0; widgets->MetaConn=NULL; | |
+ FillMetaServerList(widgets); | |
+ } | |
+} | |
+ | |
static void UpdateMetaServerList(GtkWidget *widget, | |
struct StartGameStruct *widgets) { | |
- char *MetaError; | |
- int HttpSock; | |
- MetaError=OpenMetaServerConnection(&HttpSock); | |
+/* char *MetaError; | |
+ int HttpSock;*/ | |
+ | |
+ if (widgets->MetaTag) { | |
+ gdk_input_remove(widgets->MetaTag); | |
+ CloseHttpConnection(widgets->MetaConn); | |
+ widgets->MetaTag=0; widgets->MetaConn=NULL; | |
+ } | |
+ | |
+ widgets->MetaConn = OpenMetaHttpConnection(); | |
+ | |
+ if (widgets->MetaConn) { | |
+ widgets->MetaTag = gdk_input_add(widgets->MetaConn->NetBuf.fd, | |
+ GDK_INPUT_READ|GDK_INPUT_WRITE, | |
+ HandleMetaSock,(gpointer)widgets); | |
+ } | |
+ | |
+/* MetaError=OpenMetaServerConnection(&HttpSock); | |
if (MetaError) { | |
return; | |
t@@ -1988,7 +2028,7 @@ static void UpdateMetaServerList(GtkWidget *widget, | |
ReadMetaServerData(HttpSock); | |
CloseMetaServerConnection(HttpSock); | |
MetaServerRead=TRUE; | |
- FillMetaServerList(widgets); | |
+ FillMetaServerList(widgets);*/ | |
} | |
static void MetaServerConnect(GtkWidget *widget, | |
t@@ -2028,11 +2068,16 @@ static void StartSinglePlayer(GtkWidget *widget, | |
static void CloseNewGameDia(GtkWidget *widget, | |
struct StartGameStruct *widgets) { | |
#ifdef NETWORKING | |
- if (widgets->ConnectTag!=0) { | |
+ if (widgets->ConnectTag) { | |
gdk_input_remove(widgets->ConnectTag); | |
CloseSocket(ClientSock); | |
widgets->ConnectTag=0; | |
} | |
+ if (widgets->MetaTag) { | |
+ gdk_input_remove(widgets->MetaTag); | |
+ CloseHttpConnection(widgets->MetaConn); | |
+ widgets->MetaTag=0; widgets->MetaConn=NULL; | |
+ } | |
#endif | |
} | |
t@@ -2056,6 +2101,8 @@ void NewGameDialog() { | |
#endif /* NETWORKING */ | |
widgets.ConnectTag=0; | |
+ widgets.MetaTag=0; widgets.MetaConn=NULL; | |
+ | |
widgets.dialog=dialog=gtk_window_new(GTK_WINDOW_DIALOG); | |
gtk_signal_connect(GTK_OBJECT(dialog),"destroy", | |
GTK_SIGNAL_FUNC(CloseNewGameDia), |