Binary files cui95/cui.o and cui96/cui.o differ Binary files cui95/cui_test.o and cui96/cui_test.o differ Binary files cui95/dialog.o and cui96/dialog.o differ Binary files cui95/etext.o and cui96/etext.o differ Binary files cui95/focus.o and cui96/focus.o differ Binary files cui95/menu.o and cui96/menu.o differ diff -urN cui95/timer.c cui96/timer.c --- cui95/timer.c Wed Apr 2 01:00:00 2014 +++ cui96/timer.c Wed Apr 2 01:10:00 2014 @@ -55,10 +55,13 @@ void cui_timer_work(void) { - cui_list lp = timer_list; - for(; lp; lp=lp->next){ - cui_timer p = (cui_timer)lp->data; - int msec = cui_timer_now_msec(); + cui_list lp = timer_list, next; + cui_timer p; + int msec; + for(; lp; lp=next){ + next = lp->next; + p = (cui_timer)lp->data; + msec = cui_timer_now_msec(); if(msec < p->targ_msec) continue; cui_handler_call(p->obj, CUI_EVT_TIMER, msec); if(p->once) cui_list_del(&timer_list, p);