diff --git a/src/conio/mouse.c b/src/conio/mouse.c index 7cbc4089c3f56a0b108cf4d6f24f2e9370f964eb..3705d757cde523921566577e10a7524320db6d1d 100644 --- a/src/conio/mouse.c +++ b/src/conio/mouse.c @@ -173,7 +173,7 @@ void ciolib_mouse_thread(void *data) } else { sem_wait(&in_sem); -} + } if(timedout) { state.timeout[timeout_button-1]=0; switch(state.button_state[timeout_button-1]) { @@ -341,10 +341,11 @@ void ciolib_mouse_thread(void *data) free(in); } - ttime=-1; timeout_button=0; for(but=1;but<=3;but++) { - if(state.button_state[but-1]!=MOUSE_NOSTATE && state.button_state[but-1]!=MOUSE_DRAGSTARTED && state.timeout[but-1]<ttime) { + if(state.button_state[but-1]!=MOUSE_NOSTATE + && state.button_state[but-1]!=MOUSE_DRAGSTARTED + && (timeout_button==0 || state.timeout[but-1]<ttime)) { ttime=state.timeout[but-1]; timeout_button=but; }