1
0
Fork 0
mirror of https://github.com/Cloudef/bemenu synced 2024-05-17 13:06:15 +02:00
bemenu/lib
Joan Bruguera 8217ae024b Fix exiting when an unexpected Wayland error occurs.
If an unexpected error was returned from a Wayland API during rendering (e.g.
from wl_display_flush), the code did set input.sym = XKB_KEY_Escape, so that
the next call to poll_key would return BM_KEY_ESCAPE and bemenu would quit.

However, this has been broken since #135, because input.key_pending was not
set, so the "fake" XKB_KEY_Escape is just ignored, bemenu doesn't quit, but
instead, it enters an infinite loop and keeps a CPU core at 100% usage.

The "quick fix" would be to just set input.key_pending wherever input.sym was
set to XKB_KEY_Escape. However, to make error handling less error-prone,
decouple it from input handling and add an error flag to (bm_menu_)render.
2022-08-03 08:55:34 +09:00
..
3rdparty Nuke CMake from existance 2020-02-07 16:03:08 +02:00
renderers Fix exiting when an unexpected Wayland error occurs. 2022-08-03 08:55:34 +09:00
bemenu.h Fix exiting when an unexpected Wayland error occurs. 2022-08-03 08:55:34 +09:00
filter.c Declare filter_dmenu_fun as static 2020-12-13 17:10:07 +09:00
internal.h Fix exiting when an unexpected Wayland error occurs. 2022-08-03 08:55:34 +09:00
item.c Refactor code to snake_style, turn renderers into plugins, and start 2014-10-22 22:46:51 +03:00
library.c Nuke CMake from existance 2020-02-07 16:03:08 +02:00
list.c Use sizeof(void*) and fix list remove. 2014-10-25 21:53:48 +03:00
menu.c Fix exiting when an unexpected Wayland error occurs. 2022-08-03 08:55:34 +09:00
util.c get rid of all the internal symbols 2022-02-19 08:00:26 +09:00