tags 243363 patch
thanks
Hi,
The attached patch fixes this issue. There was a missing case in
do_brake(), as a result the speed would start to decrease endlessly at
startup, leading to the segfault.
Works for me on amd64, please test, confirm & upload :)
JB.
--
Julien BLACHE <[EMAIL PROTECTED]> | Debian, because code matters more
Debian & GNU/Linux Developer | <http://www.debian.org>
Public key available on <http://www.jblache.org> - KeyID: F5D6 5169
GPG Fingerprint : 935A 79F1 C8B3 3521 FD62 7CC7 CD61 4FD7 F5D6 5169
--- xcruise-0.30.orig/MainScreen.c
+++ xcruise-0.30/MainScreen.c
@@ -1150,10 +1150,13 @@
static void do_brake(MainScreenWidget me, double arg1)
{
double v = me->mainScreen.velocity;
- if (0 < v) {
+#ifdef DEBUG_EVENT
+ fprintf(stderr, "do_brake: velocity %0.02f, brake %0.02f\n", v, arg1);
+#endif
+ if (v > 0) {
v -= arg1 * (fabs(me->mainScreen.velocity)+1.0);
if (v < 0) v = 0;
- } else {
+ } else if (v < 0) {
v += arg1 * (fabs(me->mainScreen.velocity)+1.0);
if (0 < v) v = 0;
}