Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: c3a43bc998bad28e314cd3bd972015fe0a8e02aa https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c3a43bc998bad28e314... Author: David T Lewis dtlewis290@gmail.com Date: 2021-01-19 (Tue, 19 Jan 2021)
Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c
Log Message: ----------- Fix missing KeyRelease events when multiple keys are depressed. (#547)
* Fix missing KeyRelease events when multiple keys are depressed. Reference Mantis 0007597 http://bugs.squeak.org/view.php?id=7597. Rather than keep a single lastKey to remember the last previously pressed key value, maintain an array size 256 of last key pressed values indexed by X11 KeyCode. Works for any number of simultaneous keys.
* Initialize lastKeyValue array at compile time. For safety, mask index into lastKeyValue to ensure array bounds are honored.
Co-authored-by: David T. Lewis lewis@mail.msen.com
vm-dev@lists.squeakfoundation.org