tFixed bug with redrawing of messages window in GTK+ client - vaccinewars - be a doctor and try to vaccinate the world
(HTM) git clone git://src.adamsgaard.dk/vaccinewars
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit a02a21fb70ab9c2710bbba8d4ee4be220f5c90ac
(DIR) parent 62a5428ac6617321414c49f511328138b66258da
(HTM) Author: Ben Webb <ben@salilab.org>
Date: Sun, 10 Sep 2000 23:55:33 +0000
Fixed bug with redrawing of messages window in GTK+ client
Diffstat:
M po/dopewars.pot | 236 ++++++++++++++++----------------
M src/gtk_client.c | 45 ++++++++++++++++++++-----------
2 files changed, 147 insertions(+), 134 deletions(-)
---
(DIR) diff --git a/po/dopewars.pot b/po/dopewars.pot
t@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-09-10 22:48+0100\n"
+"POT-Creation-Date: 2000-09-11 00:51+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
t@@ -998,7 +998,7 @@ msgstr ""
msgid "CLQP"
msgstr ""
-#: src/curses_client.c:363 src/gtk_client.c:800
+#: src/curses_client.c:363 src/gtk_client.c:811
msgid "Where to, dude ? "
msgstr ""
t@@ -1104,12 +1104,12 @@ msgstr ""
msgid "The server has terminated. Reverting to single player mode."
msgstr ""
-#: src/curses_client.c:635 src/gtk_client.c:328 src/serverside.c:258
+#: src/curses_client.c:635 src/gtk_client.c:338 src/serverside.c:258
#, c-format
msgid "%s joins the game!"
msgstr ""
-#: src/curses_client.c:640 src/gtk_client.c:334
+#: src/curses_client.c:640 src/gtk_client.c:344
#, c-format
msgid "%s has left the game."
msgstr ""
t@@ -1146,22 +1146,22 @@ msgstr ""
msgid "You don't have any %s to sell!"
msgstr ""
-#: src/curses_client.c:807 src/gtk_client.c:1072
+#: src/curses_client.c:807 src/gtk_client.c:1087
#, c-format
msgid "You'll need more %s to carry any more %s!"
msgstr ""
-#: src/curses_client.c:829 src/gtk_client.c:1076
+#: src/curses_client.c:829 src/gtk_client.c:1091
#, c-format
msgid "You don't have enough space to carry that %s!"
msgstr ""
-#: src/curses_client.c:837 src/gtk_client.c:1080
+#: src/curses_client.c:837 src/gtk_client.c:1095
#, c-format
msgid "You don't have enough cash to buy that %s!"
msgstr ""
-#: src/curses_client.c:850 src/gtk_client.c:1084
+#: src/curses_client.c:850 src/gtk_client.c:1099
msgid "You don't have any to sell!"
msgstr ""
t@@ -1169,7 +1169,7 @@ msgstr ""
msgid "How much money do you pay back? "
msgstr ""
-#: src/curses_client.c:880 src/curses_client.c:910 src/gtk_client.c:1888
+#: src/curses_client.c:880 src/curses_client.c:910 src/gtk_client.c:1901
msgid "You don't have that much money!"
msgstr ""
t@@ -1185,7 +1185,7 @@ msgstr ""
msgid "How much money? "
msgstr ""
-#: src/curses_client.c:913 src/gtk_client.c:1881
+#: src/curses_client.c:913 src/gtk_client.c:1894
msgid "There isn't that much money in the bank..."
msgstr ""
t@@ -1197,7 +1197,7 @@ msgstr ""
msgid "Messages"
msgstr ""
-#: src/curses_client.c:1130 src/gtk_client.c:1371
+#: src/curses_client.c:1130 src/gtk_client.c:1384
msgid "Stats"
msgstr ""
t@@ -1429,228 +1429,228 @@ msgstr ""
msgid "Message"
msgstr ""
-#: src/gtk_client.c:172
+#: src/gtk_client.c:168 src/gtk_client.c:179
msgid "Quit Game"
msgstr ""
-#: src/gtk_client.c:172 src/gtk_client.c:181
+#: src/gtk_client.c:168 src/gtk_client.c:180 src/gtk_client.c:187
msgid "Abandon current game?"
msgstr ""
-#: src/gtk_client.c:180
+#: src/gtk_client.c:186
msgid "Start new game"
msgstr ""
-#: src/gtk_client.c:202
+#: src/gtk_client.c:208
msgid "Inventory"
msgstr ""
-#: src/gtk_client.c:230 src/gtk_client.c:2124 src/gtk_client.c:2492
+#: src/gtk_client.c:236 src/gtk_client.c:2137 src/gtk_client.c:2505
msgid "Close"
msgstr ""
-#: src/gtk_client.c:260
+#: src/gtk_client.c:266
msgid "Connection to server lost - switching to single player mode"
msgstr ""
-#: src/gtk_client.c:302
+#: src/gtk_client.c:312
msgid "You have been pushed from the server."
msgstr ""
-#: src/gtk_client.c:307
+#: src/gtk_client.c:317
msgid "The server has terminated."
msgstr ""
-#: src/gtk_client.c:347
+#: src/gtk_client.c:357
#, c-format
msgid "Jetting to %s"
msgstr ""
-#: src/gtk_client.c:352
+#: src/gtk_client.c:362
msgid "<main>/Errands/Spy"
msgstr ""
-#: src/gtk_client.c:354
+#: src/gtk_client.c:364
#, c-format
msgid "_Spy\t(%s)"
msgstr ""
-#: src/gtk_client.c:358
+#: src/gtk_client.c:368
#, c-format
msgid "_Tipoff\t(%s)"
msgstr ""
-#: src/gtk_client.c:360
+#: src/gtk_client.c:370
msgid "<main>/Errands/Tipoff"
msgstr ""
-#: src/gtk_client.c:393
+#: src/gtk_client.c:406
msgid "High Scores"
msgstr ""
-#: src/gtk_client.c:427 src/gtk_client.c:1023 src/gtk_client.c:1484
-#: src/gtk_client.c:1797 src/gtk_client.c:1962 src/gtk_client.c:2241
-#: src/gtk_client.c:2399
+#: src/gtk_client.c:440 src/gtk_client.c:1038 src/gtk_client.c:1497
+#: src/gtk_client.c:1810 src/gtk_client.c:1975 src/gtk_client.c:2254
+#: src/gtk_client.c:2412
msgid "OK"
msgstr ""
-#: src/gtk_client.c:506
+#: src/gtk_client.c:522
msgid "Fight"
msgstr ""
-#: src/gtk_client.c:533
+#: src/gtk_client.c:549
#, c-format
msgid "_Deal %s"
msgstr ""
-#: src/gtk_client.c:537 src/gtk_client.c:1119 src/gtk_client.c:1316
+#: src/gtk_client.c:553 src/gtk_client.c:1131 src/gtk_client.c:1327
msgid "_Fight"
msgstr ""
-#: src/gtk_client.c:540
+#: src/gtk_client.c:556
msgid "_Stand"
msgstr ""
-#: src/gtk_client.c:543 src/gtk_client.c:1118
+#: src/gtk_client.c:559 src/gtk_client.c:1130
msgid "_Run"
msgstr ""
-#: src/gtk_client.c:791
+#: src/gtk_client.c:802
msgid "Jet to location"
msgstr ""
-#: src/gtk_client.c:856
+#: src/gtk_client.c:871
#, c-format
msgid "at %s"
msgstr ""
-#: src/gtk_client.c:861
+#: src/gtk_client.c:876
#, c-format
msgid "You are currently carrying %d %s"
msgstr ""
-#: src/gtk_client.c:866
+#: src/gtk_client.c:881
#, c-format
msgid "Available space: %d"
msgstr ""
-#: src/gtk_client.c:871
+#: src/gtk_client.c:886
#, c-format
msgid "You can afford %d"
msgstr ""
-#: src/gtk_client.c:921 src/gtk_client.c:1052
+#: src/gtk_client.c:936 src/gtk_client.c:1067
msgid "Buy"
msgstr ""
-#: src/gtk_client.c:922 src/gtk_client.c:1053
+#: src/gtk_client.c:937 src/gtk_client.c:1068
msgid "Sell"
msgstr ""
-#: src/gtk_client.c:923 src/gtk_client.c:1054
+#: src/gtk_client.c:938 src/gtk_client.c:1069
msgid "Drop"
msgstr ""
-#: src/gtk_client.c:1011
+#: src/gtk_client.c:1026
#, c-format
msgid "%s how many?"
msgstr ""
-#: src/gtk_client.c:1029 src/gtk_client.c:1797 src/gtk_client.c:1973
-#: src/gtk_client.c:2249
+#: src/gtk_client.c:1044 src/gtk_client.c:1810 src/gtk_client.c:1986
+#: src/gtk_client.c:2262
msgid "Cancel"
msgstr ""
-#: src/gtk_client.c:1068
+#: src/gtk_client.c:1083
#, c-format
msgid "You don't have any %s!"
msgstr ""
-#: src/gtk_client.c:1118 src/gtk_client.c:1798
+#: src/gtk_client.c:1130 src/gtk_client.c:1811
msgid "_Yes"
msgstr ""
-#: src/gtk_client.c:1118 src/gtk_client.c:1798
+#: src/gtk_client.c:1130 src/gtk_client.c:1811
msgid "_No"
msgstr ""
-#: src/gtk_client.c:1119
+#: src/gtk_client.c:1131
msgid "_Attack"
msgstr ""
-#: src/gtk_client.c:1119
+#: src/gtk_client.c:1131
msgid "_Evade"
msgstr ""
-#: src/gtk_client.c:1138
+#: src/gtk_client.c:1149
msgid "Question"
msgstr ""
-#: src/gtk_client.c:1246
+#: src/gtk_client.c:1257
msgid "<main>/Talk"
msgstr ""
-#: src/gtk_client.c:1248
+#: src/gtk_client.c:1259
msgid "<main>/List"
msgstr ""
-#: src/gtk_client.c:1250
+#: src/gtk_client.c:1261
msgid "<main>/Errands"
msgstr ""
-#: src/gtk_client.c:1266
+#: src/gtk_client.c:1277
msgid "Space"
msgstr ""
-#: src/gtk_client.c:1271
+#: src/gtk_client.c:1282
msgid "Cash"
msgstr ""
-#: src/gtk_client.c:1276
+#: src/gtk_client.c:1287
msgid "Debt"
msgstr ""
-#: src/gtk_client.c:1281
+#: src/gtk_client.c:1292
msgid "Bank"
msgstr ""
-#: src/gtk_client.c:1296
+#: src/gtk_client.c:1307
msgid "Health"
msgstr ""
-#: src/gtk_client.c:1316
+#: src/gtk_client.c:1327
msgid "_Jet!"
msgstr ""
-#: src/gtk_client.c:1347
+#: src/gtk_client.c:1358
msgid "dopewars"
msgstr ""
-#: src/gtk_client.c:1431
+#: src/gtk_client.c:1444
msgid "Drug Dealing and Research"
msgstr ""
-#: src/gtk_client.c:1432
+#: src/gtk_client.c:1445
msgid "Play Testing"
msgstr ""
-#: src/gtk_client.c:1433
+#: src/gtk_client.c:1446
msgid "Extensive Play Testing"
msgstr ""
-#: src/gtk_client.c:1435
+#: src/gtk_client.c:1448
msgid "Constructive Criticism"
msgstr ""
-#: src/gtk_client.c:1437
+#: src/gtk_client.c:1450
msgid "Unconstructive Criticism"
msgstr ""
-#: src/gtk_client.c:1441
+#: src/gtk_client.c:1454
msgid "About dopewars"
msgstr ""
-#: src/gtk_client.c:1450
+#: src/gtk_client.c:1463
msgid ""
"Based on John E. Dell's old Drug Wars game, dopewars is a simulation of an\n"
"imaginary drug market. dopewars is an All-American game which features\n"
t@@ -1662,150 +1662,150 @@ msgid ""
"have one month of game time to make your fortune.\n"
msgstr ""
-#: src/gtk_client.c:1458
+#: src/gtk_client.c:1471
#, c-format
msgid ""
"Version %s Copyright (C) 1998-2000 Ben Webb ben@bellatrix.pcl.ox.ac.uk\n"
"dopewars is released under the GNU General Public Licence\n"
msgstr ""
-#: src/gtk_client.c:1476
+#: src/gtk_client.c:1489
msgid ""
"\n"
"For information on the command line options, type dopewars -h at your\n"
"Unix prompt. This will display a help screen, listing the availableoptions."
msgstr ""
-#: src/gtk_client.c:1514 src/gtk_client.c:1599
+#: src/gtk_client.c:1527 src/gtk_client.c:1612
msgid "Status: Attempting to contact server..."
msgstr ""
-#: src/gtk_client.c:1520 src/gtk_client.c:1605
+#: src/gtk_client.c:1533 src/gtk_client.c:1618
#, c-format
msgid "Status: Could not connect (%s)"
msgstr ""
-#: src/gtk_client.c:1554
+#: src/gtk_client.c:1567
#, c-format
msgid "%d of %d"
msgstr ""
-#: src/gtk_client.c:1621 src/gtk_client.c:1658 src/gtk_client.c:1699
+#: src/gtk_client.c:1634 src/gtk_client.c:1671 src/gtk_client.c:1712
msgid "Server"
msgstr ""
-#: src/gtk_client.c:1622 src/gtk_client.c:1673
+#: src/gtk_client.c:1635 src/gtk_client.c:1686
msgid "Port"
msgstr ""
-#: src/gtk_client.c:1623
+#: src/gtk_client.c:1636
msgid "Version"
msgstr ""
-#: src/gtk_client.c:1624
+#: src/gtk_client.c:1637
msgid "Players"
msgstr ""
-#: src/gtk_client.c:1625
+#: src/gtk_client.c:1638
msgid "Comment"
msgstr ""
-#: src/gtk_client.c:1634
+#: src/gtk_client.c:1647
msgid "New Game"
msgstr ""
-#: src/gtk_client.c:1643
+#: src/gtk_client.c:1656
msgid "Hey dude, what's your _name?"
msgstr ""
-#: src/gtk_client.c:1665
+#: src/gtk_client.c:1678
msgid "Host name"
msgstr ""
-#: src/gtk_client.c:1688 src/gtk_client.c:1751
+#: src/gtk_client.c:1701 src/gtk_client.c:1764
msgid "_Connect"
msgstr ""
-#: src/gtk_client.c:1701 src/gtk_client.c:1722
+#: src/gtk_client.c:1714 src/gtk_client.c:1735
msgid "Single player"
msgstr ""
-#: src/gtk_client.c:1707
+#: src/gtk_client.c:1720
msgid "_Antique mode"
msgstr ""
-#: src/gtk_client.c:1714
+#: src/gtk_client.c:1727
msgid "_Start single-player game"
msgstr ""
-#: src/gtk_client.c:1724 src/gtk_client.c:1762
+#: src/gtk_client.c:1737 src/gtk_client.c:1775
msgid "Metaserver"
msgstr ""
-#: src/gtk_client.c:1741
+#: src/gtk_client.c:1754
msgid "_Update"
msgstr ""
-#: src/gtk_client.c:1766
+#: src/gtk_client.c:1779
msgid "Status: Waiting for user input"
msgstr ""
-#: src/gtk_client.c:1919
+#: src/gtk_client.c:1932
#, c-format
msgid "Cash: %s"
msgstr ""
-#: src/gtk_client.c:1926
+#: src/gtk_client.c:1939
#, c-format
msgid "Debt: %s"
msgstr ""
-#: src/gtk_client.c:1929
+#: src/gtk_client.c:1942
#, c-format
msgid "Bank: %s"
msgstr ""
-#: src/gtk_client.c:1937
+#: src/gtk_client.c:1950
msgid "Pay back:"
msgstr ""
-#: src/gtk_client.c:1940
+#: src/gtk_client.c:1953
msgid "Deposit"
msgstr ""
-#: src/gtk_client.c:1944
+#: src/gtk_client.c:1957
msgid "Withdraw"
msgstr ""
-#: src/gtk_client.c:1968
+#: src/gtk_client.c:1981
msgid "Pay all"
msgstr ""
-#: src/gtk_client.c:1990
+#: src/gtk_client.c:2003
msgid "Player List"
msgstr ""
-#: src/gtk_client.c:2079
+#: src/gtk_client.c:2092
msgid "Talk to player(s)"
msgstr ""
-#: src/gtk_client.c:2101
+#: src/gtk_client.c:2114
msgid "Talk to all players"
msgstr ""
-#: src/gtk_client.c:2105
+#: src/gtk_client.c:2118
msgid "Message:-"
msgstr ""
-#: src/gtk_client.c:2118
+#: src/gtk_client.c:2131
msgid "Send"
msgstr ""
-#: src/gtk_client.c:2211
+#: src/gtk_client.c:2224
msgid "Spy On Player"
msgstr ""
-#: src/gtk_client.c:2213
+#: src/gtk_client.c:2226
#, c-format
msgid ""
"Please choose the player to spy on. Your %s will\n"
t@@ -1815,11 +1815,11 @@ msgid ""
"you, so any %s or %s that he's carrying may be lost!"
msgstr ""
-#: src/gtk_client.c:2221
+#: src/gtk_client.c:2234
msgid "Tip Off The Cops"
msgstr ""
-#: src/gtk_client.c:2223
+#: src/gtk_client.c:2236
#, c-format
msgid ""
"Please choose the player to tip off the cops to. Your %s will\n"
t@@ -1828,71 +1828,71 @@ msgid ""
"so any %s or %s that he's carrying may be lost!"
msgstr ""
-#: src/gtk_client.c:2263
+#: src/gtk_client.c:2276
#, c-format
msgid "Sack %s"
msgstr ""
-#: src/gtk_client.c:2264
+#: src/gtk_client.c:2277
#, c-format
msgid ""
"Are you sure? (Any %s or %s carried\n"
"by this %s may be lost!)"
msgstr ""
-#: src/gtk_client.c:2285
+#: src/gtk_client.c:2298
msgid "Name"
msgstr ""
-#: src/gtk_client.c:2286
+#: src/gtk_client.c:2299
msgid "Price"
msgstr ""
-#: src/gtk_client.c:2287
+#: src/gtk_client.c:2300
msgid "Number"
msgstr ""
-#: src/gtk_client.c:2289
+#: src/gtk_client.c:2302
msgid "_Buy ->"
msgstr ""
-#: src/gtk_client.c:2290
+#: src/gtk_client.c:2303
msgid "<- _Sell"
msgstr ""
-#: src/gtk_client.c:2291
+#: src/gtk_client.c:2304
msgid "_Drop <-"
msgstr ""
-#: src/gtk_client.c:2296
+#: src/gtk_client.c:2309
#, c-format
msgid "%s here"
msgstr ""
-#: src/gtk_client.c:2299
+#: src/gtk_client.c:2312
#, c-format
msgid "%s carried"
msgstr ""
-#: src/gtk_client.c:2375
+#: src/gtk_client.c:2388
msgid "Change Name"
msgstr ""
-#: src/gtk_client.c:2385
+#: src/gtk_client.c:2398
msgid ""
"Unfortunately, somebody else is already using \"your\" name. Please change "
"it:-"
msgstr ""
-#: src/gtk_client.c:2444
+#: src/gtk_client.c:2457
msgid "Done"
msgstr ""
-#: src/gtk_client.c:2478
+#: src/gtk_client.c:2491
msgid "Spy reports"
msgstr ""
-#: src/gtk_client.c:2549
+#: src/gtk_client.c:2562
msgid ""
"No GTK+ client available - rebuild the binary passing the\n"
"--enable-gtk-client option to configure, or use the curses\n"
(DIR) diff --git a/src/gtk_client.c b/src/gtk_client.c
t@@ -81,8 +81,8 @@ static gboolean IsShowingPlayerList=FALSE,IsShowingTalkList=FALSE,
IsShowingInventory=FALSE,IsShowingGunShop=FALSE;
static void display_intro(GtkWidget *widget,gpointer data);
-static void DestroyGtk(GtkWidget *widget,gpointer data);
static void QuitGame(GtkWidget *widget,gpointer data);
+static void DestroyGtk(GtkWidget *widget,gpointer data);
static void NewGame(GtkWidget *widget,gpointer data);
static void ListScores(GtkWidget *widget,gpointer data);
static void ListInventory(GtkWidget *widget,gpointer data);
t@@ -163,10 +163,6 @@ static void LogMessage(const gchar *log_domain,GLogLevelFlags log_level,
message,MB_OK);
}
-void DestroyGtk(GtkWidget *widget,gpointer data) {
- gtk_main_quit();
-}
-
void QuitGame(GtkWidget *widget,gpointer data) {
if (!InGame ||
MessageBox(ClientData.window,_("Quit Game"),_("Abandon current game?"),
t@@ -175,6 +171,16 @@ void QuitGame(GtkWidget *widget,gpointer data) {
}
}
+void DestroyGtk(GtkWidget *widget,gpointer data) {
+ gtk_main_quit();
+}
+
+gint MainDelete(GtkWidget *widget,GdkEvent *event,gpointer data) {
+ return (InGame && MessageBox(ClientData.window,_("Quit Game"),
+ _("Abandon current game?"),MB_YES|MB_NO)==MB_NO);
+}
+
+
void NewGame(GtkWidget *widget,gpointer data) {
if (InGame) {
if (MessageBox(ClientData.window,_("Start new game"),
t@@ -280,6 +286,10 @@ void HandleClientMessage(char *pt,Player *ReallyTo) {
gboolean Handled;
GtkWidget *MenuItem;
GSList *list;
+
+/* Handle events first */
+ while (gtk_main_iteration_do(FALSE));
+
if (ProcessMessage(pt,&From,&AICode,&Code,&To,&Data,FirstClient)==-1) {
return;
}
t@@ -379,6 +389,9 @@ void HandleClientMessage(char *pt,Player *ReallyTo) {
break;
}
g_free(Data);
+
+/* Handle events again */
+ while (gtk_main_iteration_do(FALSE));
}
struct HiScoreDiaStruct {
t@@ -442,6 +455,7 @@ void PrintMessage(char *text) {
messages=GTK_EDITABLE(ClientData.messages);
+ gtk_text_freeze(GTK_TEXT(messages));
g_strdelimit(text,"^",'\n');
EditPos=gtk_text_get_length(GTK_TEXT(ClientData.messages));
while (*text=='\n') text++;
t@@ -449,6 +463,8 @@ void PrintMessage(char *text) {
if (text[strlen(text)-1]!='\n') {
gtk_editable_insert_text(messages,cr,1,&EditPos);
}
+ gtk_text_thaw(GTK_TEXT(messages));
+ gtk_editable_set_position(messages,EditPos);
}
static void FightCallback(GtkWidget *widget,gpointer data) {
t@@ -758,14 +774,11 @@ static void JetCallback(GtkWidget *widget,gpointer data) {
JetDialog = GTK_WIDGET(gtk_object_get_data(GTK_OBJECT(widget),"dialog"));
NewLocation = GPOINTER_TO_INT(data);
+ gtk_widget_destroy(JetDialog);
text=g_strdup_printf("%d",NewLocation);
SendClientMessage(ClientData.Play,C_NONE,C_REQUESTJET,NULL,
text,ClientData.Play);
g_free(text);
- gtk_widget_destroy(JetDialog);
- if (Network) {
- SetSocketWriteTest(ClientData.Play,TRUE);
- }
}
void JetButtonPressed(GtkWidget *widget,gpointer data) {
t@@ -785,8 +798,6 @@ void Jet() {
accel_group=gtk_accel_group_new();
- if (Network) gdk_input_remove(ClientData.GdkInputTag);
-
dialog=gtk_window_new(GTK_WINDOW_DIALOG);
gtk_window_set_title(GTK_WINDOW(dialog),_("Jet to location"));
gtk_container_set_border_width(GTK_CONTAINER(dialog),7);
t@@ -803,8 +814,12 @@ void Jet() {
/* Generate a square box of buttons for all locations */
boxsize=1;
while (boxsize*boxsize < NumLocation) boxsize++;
+ col=boxsize; row=1;
+
+ /* Avoid creating a box with an entire row empty at the bottom */
+ while (row*col < NumLocation) row++;
- table=gtk_table_new(boxsize,boxsize,TRUE);
+ table=gtk_table_new(row,col,TRUE);
for (i=0;i<NumLocation;i++) {
if (i<9) AccelChar='1'+i;
t@@ -1105,9 +1120,6 @@ static void QuestionCallback(GtkWidget *widget,gpointer data) {
SendClientMessage(ClientData.Play,C_NONE,C_ANSWER,To,text,ClientData.Play);
gtk_widget_destroy(dialog);
- if (Network) {
- SetSocketWriteTest(ClientData.Play,TRUE);
- }
}
void QuestionDialog(char *Data,Player *From) {
t@@ -1129,7 +1141,6 @@ void QuestionDialog(char *Data,Player *From) {
Responses=split[0]; LabelText=split[1];
- if (Network) gdk_input_remove(ClientData.GdkInputTag);
dialog=gtk_window_new(GTK_WINDOW_DIALOG);
accel_group=gtk_accel_group_new();
gtk_signal_connect(GTK_OBJECT(dialog),"delete_event",
t@@ -1346,6 +1357,8 @@ char GtkLoop(int *argc,char **argv[],char ReturnOnFail) {
window=ClientData.window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window),_("dopewars"));
gtk_window_set_default_size(GTK_WINDOW(window),450,390);
+ gtk_signal_connect(GTK_OBJECT(window),"delete_event",
+ GTK_SIGNAL_FUNC(MainDelete),NULL);
gtk_signal_connect(GTK_OBJECT(window),"destroy",
GTK_SIGNAL_FUNC(DestroyGtk),NULL);