Как работают фильтры евентов в sdl

108
30 ноября 2019, 16:40

Написал небольшую обертку для окон и ивентов но наткнулся на такую проблему: при установке одновременно SDL_AddEventWatch (который завершает работу приложения при SDL_QUIT евенте) и SDL_SetEventFilter (который фильтрует ивенты для окна) время от времени получается так, что при закрытии последнего окна не получаю SDL_QUIT евент. Если же устанавливаю только SDL_AddEventWatch, то все работает верно (евент приходит каждый раз). В связи с этим возникает 2 вопроса:

1) SDL_QUIT должен генерится каждый раз при закрытии последнего окна?

2) Могут ли filter и watch конкурировать за евент? Тобишь Может ли возникать такая ситуация, когда в watch доставляется указатель на евент, а сам евент в этот же момент перезаписывается для обработки в фильтре? Ну или что-то типа того.

PS обработку евентов за пределами этих фильтров я не провожу, просто добавил SDL_WaitEventTimeout(nullptr, 300) для того, чтобы запускалась обработка в фильтрах

PSS 3) когда я в одном фильтре закрываю окно, то что тогда с quit эвентом? Он может не добавится в очередь?

READ ALSO
Вывод содержимого файла Java

Вывод содержимого файла Java

Есть такие блоки кода:

154
Сравнение чисел типа Integer в ArrayList с помощью == и equals()

Сравнение чисел типа Integer в ArrayList с помощью == и equals()

Задача: 1) ввести 10 цифр с клавиатуры, 2) вывести длину самой длинной последовательности повторяющихся чисел в списке

144
Сохранение токена для тестов

Сохранение токена для тестов

Есть класс, в котором я получаю токен:

127
Код ревью тестового проекта Android Dev

Код ревью тестового проекта Android Dev

Я начинающий Android разработчик и пытаюсь устроиться на работуНа одном из собеседованиях мне дали тестовое задание:

118