# HG changeset patch # User reimar # Date 1301005697 0 # Node ID d88b8a9e989e6ded09f818ba3f8891f0d1b6ee43 # Parent cc8cef372901c70e359a2279f3109c18ad2dc57e Change condition to avoid needless key state resets with very small key fifos. diff -r cc8cef372901 -r d88b8a9e989e mp_fifo.c --- a/mp_fifo.c Thu Mar 24 22:11:18 2011 +0000 +++ b/mp_fifo.c Thu Mar 24 22:28:17 2011 +0000 @@ -33,7 +33,8 @@ key_fifo_data = malloc(key_fifo_size * sizeof(int)); if(!fifo_free) return; // FIFO FULL!! // reserve some space for key release events to avoid stuck keys - if((code & MP_KEY_DOWN) && fifo_free < (key_fifo_size >> 1)) + // Make sure we do not reset key state because of a down event + if((code & MP_KEY_DOWN) && fifo_free <= (key_fifo_size >> 1)) return; // in the worst case, just reset key state if (fifo_free == 1)