tScreen resizing and Ctrl-L now supported during metaserver connect - vaccinewa… | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 3d4c0be2224aab5c10dc43b3cec167dc06de0784 | |
parent deb1942deb69bf7fbce7a15bb2ce2555155e5a2c | |
Author: Ben Webb <[email protected]> | |
Date: Wed, 12 Sep 2001 19:27:08 +0000 | |
Screen resizing and Ctrl-L now supported during metaserver connect | |
Diffstat: | |
M src/curses_client.c | 13 +++++++++---- | |
1 file changed, 9 insertions(+), 4 deletions(-) | |
--- | |
diff --git a/src/curses_client.c b/src/curses_client.c | |
t@@ -215,7 +215,7 @@ static void SelectServerManually(void) { | |
g_free(text); g_free(PortText); | |
} | |
-static char *SelectServerFromMetaServer(void) { | |
+static char *SelectServerFromMetaServer(Player *Play) { | |
/* Contacts the dopewars metaserver, and obtains a list of valid */ | |
/* server/port pairs, one of which the user should select. */ | |
/* Returns a pointer to a static string containing an error */ | |
t@@ -248,9 +248,14 @@ static char *SelectServerFromMetaServer(void) { | |
SetSelectForNetworkBuffer(&MetaConn->NetBuf,&readfds,&writefds, | |
NULL,&maxsock); | |
if (bselect(maxsock,&readfds,&writefds,NULL,NULL)==-1) { | |
- if (errno==EINTR) { /*CheckForResize(Play);*/ continue; } | |
+ if (errno==EINTR) { CheckForResize(Play); continue; } | |
perror("bselect"); exit(1); | |
} | |
+ if (FD_ISSET(0,&readfds)) { | |
+ /* So that Ctrl-L works */ | |
+ c = getch(); | |
+ if (c=='\f') wrefresh(curscr); | |
+ } | |
if (RespondToSelect(&MetaConn->NetBuf,&readfds,&writefds,NULL,&DoneOK)) { | |
while (HandleWaitingMetaServerData(MetaConn)) {} | |
} | |
t@@ -329,7 +334,7 @@ static char ConnectToServer(Player *Play) { | |
int c; | |
if (strcasecmp(ServerName,SN_META)==0 || ConnectMethod==CM_META) { | |
ConnectMethod=CM_META; | |
- MetaError=SelectServerFromMetaServer(); | |
+ MetaError=SelectServerFromMetaServer(Play); | |
} else if (strcasecmp(ServerName,SN_PROMPT)==0 || | |
ConnectMethod==CM_PROMPT) { | |
ConnectMethod=CM_PROMPT; | |
t@@ -384,7 +389,7 @@ static char ConnectToServer(Player *Play) { | |
case 'P': ConnectMethod=CM_SINGLE; | |
return TRUE; | |
case 'L': ConnectMethod=CM_META; | |
- MetaError=SelectServerFromMetaServer(); | |
+ MetaError=SelectServerFromMetaServer(Play); | |
break; | |
case 'C': ConnectMethod=CM_PROMPT; | |
SelectServerManually(); |