forked from RepoMirrors/bemenu
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. |
||
---|---|---|
.. | ||
common | ||
bemenu-run.c | ||
bemenu.c |