Package: kdrill Version: 6.4-1 Severity: minor Tags: patch hi,
when using the timer option, there is no miss accounted if I do not answer in time. Looking at the source, it looks like it should. I have attached a patch which actually adds the missing call from the timeout callback maybe "totalguessed" should not be increased in the case of a "guess" due to an timeout.. cu Maurice Massar -- System Information: Debian Release: 3.1 APT prefers unstable APT policy: (500, 'unstable'), (400, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.8-1-686-smp Locale: LANG=C, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8) Versions of packages kdrill depends on: ii debconf 1.4.41 Debian configuration management sy ii libc6 2.3.2.ds1-18 GNU C Library: Shared libraries an ii libice6 4.3.0.dfsg.1-8 Inter-Client Exchange library ii libsm6 4.3.0.dfsg.1-8 X Window System Session Management ii libx11-6 4.3.0.dfsg.1-8 X Window System protocol client li ii libxaw7 4.3.0.dfsg.1-8 X Athena widget set library ii libxext6 4.3.0.dfsg.1-8 X Window System miscellaneous exte ii libxmu6 4.3.0.dfsg.1-8 X Window System miscellaneous util ii libxpm4 4.3.0.dfsg.1-8 X pixmap library ii libxt6 4.3.0.dfsg.1-8 X Toolkit Intrinsics ii xlibs 4.3.0.dfsg.1-8 X Window System client libraries m -- debconf information excluded
diff -ur kdrill-6.4-dist/game.c kdrill-6.4/game.c --- kdrill-6.4-dist/game.c 2005-01-08 07:49:05.000000000 +0100 +++ kdrill-6.4/game.c 2005-01-26 09:48:13.000000000 +0100 @@ -379,7 +379,8 @@ { TRANSLATION kanjiP; - kanjiP = values[guess];/* for setting "incorrect" flag */ + if (guess != -1) + kanjiP = values[guess];/* for setting "incorrect" flag */ totalguessed+=1; @@ -412,13 +413,15 @@ * once for the quiz meaning you missed, * and once for the incorrect kanji you thought it was */ - Beep(); - setstatus("Incorrect."); - - /* Note that markasmissed also increments numberincorrect, - * *IFF* needed - */ + if(guess != -1){ + /* Timeout already handles message */ + Beep(); + setstatus("Incorrect."); + + /* Note that markasmissed also increments numberincorrect, + * *IFF* needed + */ markasmissed(kanjiP); } diff -ur kdrill-6.4-dist/mainwindow.c kdrill-6.4/mainwindow.c --- kdrill-6.4-dist/mainwindow.c 2003-08-23 08:26:10.000000000 +0200 +++ kdrill-6.4/mainwindow.c 2005-01-26 09:49:28.000000000 +0100 @@ -121,7 +121,6 @@ * NOTE: * we get passed the value (key-1) */ -/* note that "-1" means "default due to time" */ void Guessvalue(Widget w,XEvent *event,String *params,Cardinal *num_parags) { int value; diff -ur kdrill-6.4-dist/timeout.c kdrill-6.4/timeout.c --- kdrill-6.4-dist/timeout.c 2001-08-31 01:26:20.000000000 +0200 +++ kdrill-6.4/timeout.c 2005-01-26 09:48:53.000000000 +0100 @@ -149,6 +149,7 @@ void handletimeout(XtPointer closure, XtIntervalId *timerid){ Beep(); setstatus("TIME IS UP!"); + guessvalue(-1); cheatcallback(NULL, (XtPointer)1, NULL); in_use=0;