2008-10-12

Keyboard Bug

Why is it that you only find really obvious bugs once you’ve put out a new release?

There’s a bug in the keyboard. More specifically, there’s a problem with the Gadget class that exhibits itself in the keyboard. The loops that work with the visible/invisible rectangular regions of each gadget use bytes as their iterators. Unfortunately, the keyboard layout is so complex that it can have more than 256 rectangles in its rect cache, which means the redraw code gets into an infinite loop because the iterator overflows and wraps back around to 0.

I’ve fixed this in the SVN version - the iterators are now signed ints. I’ve also changed the child gadget iterators to use signed ints. Expect version 0.36 fairly soon. I’ve also updated the SVN version of the XCode Woopsi project to match the 0.35 VC++ code.

I do still have the BSP tree code I mentioned a while back. I’d like to get that plugged in at some point.