I am proud to announce that the vile, evil, devilish window serial killer has been vanquished. After a weekend of really, really very slow debugging on a pentium 100, raster and myself managed to crush it unmercifully.
The bug was that on slow hardware, switching desktops quickly would sometimes make a window vanish. The application was still running, but as far as E17 was concerned, that window was gone. Prompted by the Frequently Asked Question "Where are my windows" I asked raster about it. He gave me a run down of how to debug it, and I volunteered my P100 for the task. After about a dozen hours, a recent CVS checkout of E17 was compiled on the poor wretched thing, and testing commenced. By holding down the Ctrl+Alt then rapidly and randomly banging the arrow keys, I could reproduce the bug at will, often within a few seconds. The main reason the perpetrator had proved so illusive in the past is that it is almost impossible to reproduce on the sort of overpowered beast favoured by developers. With a reliable testing environment in hand, I instrumented the source code and set off on the hunting expedition. By the afternoon of the following day, raster was online again, and I had some bug spore for him to follow. After an hour on the trail, and possible getting interrupted by other things, raster had the monster in his sights. Seven minutes later, he had a clean shot at it. Three hours after the fix was in, I had finished recompiling and began testing. After a half hour of solid desktop switching, all my windows are still present and accounted for. This bitch is dead, long live the Rasterman!
pgpyoLWnMUTx8.pgp
Description: PGP signature