проблема с SDL_WaitEvent [sdl2]
есть такой код.
int global = 0;
static int thread_menu ( void *data ) {
SDL_Event event;
while ( !global ) {
SDL_WaitEvent ( &event );
switch ( event.type ) {
case SDL_MOUSEBUTTONDOWN:
break;
case SDL_MOUSEBUTTONUP:
{
int x = event.button.x;
int y = event.button.y;
y = cf.screen_height - y;
scene_event_click ( sc, x, y );
}
break;
case SDL_MOUSEMOTION:
{
int x = event.motion.x;
int y = event.motion.y;
y = cf.screen_height - y;
scene_event_over ( sc, x, y );
}
break;
default:
break;
}
}
return 0;
}
когда я кликаю на кнопку на экране, то событие SDL_MOUSEBUTTONUP срабатывает не всегда. оно даже не срабатывает, когда я не двигаю мышь. SDL_PollEvent не подходит, потому что кнопка много раз подряд нажимается. Почему такая проблема с SDL_WaitEvent и как её решить?