У меня есть общая функция, которая должна обрабатывать любое событие в очереди событий SDL. Пока что функция выглядит так:
int eventhandler(void* args){
cout << "Eventhandler started.\n";
while (!quit){
while (SDL_PollEvent(&event)){
cout << "Got event to handle: " << event.type << "\n";
switch (event.type){
SDL_KEYDOWN:
keyDownHandler(event.key.keysym.sym);
break;
default:
break;
}
}
}
}
Однако, когда я тестирую функцию, я получаю целую кучу событий, но нет из них, похоже, имеют тип. Он даже не печатает 0 или что-нибудь - просто ничего. Вывод при нажатии любой клавиши выглядит так:
Got event to handle:
И больше ничего. Любое руководство и документы SDL говорят, что я должен обрабатывать подобные события, но это не работает. У кого-нибудь еще есть эта проблема или решение?
Кстати, обработчик событий запускается в SDL_Thread, но я не думаю, что это проблема.