mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-29 01:08:54 +00:00
e801856d1a
Opening a menu schedules SetNuiFocus(true, true) 200 ms later so the NUI has time to render. Closing sets the focus off but does not cancel that timer, so a menu closed within those 200 ms leaves the timer to fire afterwards and turn the focus back on with nothing open: the player gets a cursor and loses movement and input until another menu is opened and closed. esx_menu_list never stored the timer id at all, so it could not be cancelled in any case. Checking inside the callback whether a menu is still open fixes both, and also covers a quick open-close-open where cancelling by id would drop a focus that is still wanted. esx_menu_default is unaffected, it has no timer. Tested on artifact 25770 with a dialog closed 50 ms after opening: before, IsNuiFocused() was still true 600 ms later; after, it stays false.