Index: apps/plugins/chessclock.c =================================================================== --- apps/plugins/chessclock.c (revision 21172) +++ apps/plugins/chessclock.c (working copy) @@ -312,7 +311,9 @@ int nr; (void)parameter; - rb->memset(&settings, 0, sizeof(settings)); + settings.nr_timers = 1; + settings.total_time = 0; + settings.round_time = 0; /* now go ahead and have fun! */ rb->splash(HZ, "Chess Clock"); @@ -365,35 +366,33 @@ pause=true; /* We start paused */ nr=0; + done = false; do { int ret=0; - done=true; - for (i=0; done && i=settings.nr_timers) - nr=0; + i = nr; + do { + nr++; + if (nr>=settings.nr_timers) + nr = 0; + } while (i != nr && timer_holder[nr].hidden); + done = (timer_holder[nr].hidden); break; case 2: - nr--; - if (nr<0) - nr=settings.nr_timers-1; + i = nr; + do { + nr--; + if (nr<0) + nr = settings.nr_timers-1; + } while (i != nr && timer_holder[nr].hidden); + done = (timer_holder[nr].hidden); break; } } while (!done);