mirror of
https://github.com/Cloudef/bemenu
synced 2024-05-17 13:06:15 +02:00
8217ae024b
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. |
||
---|---|---|
.. | ||
3rdparty | ||
renderers | ||
bemenu.h | ||
filter.c | ||
internal.h | ||
item.c | ||
library.c | ||
list.c | ||
menu.c | ||
util.c |