Click to See Complete Forum and Search --> : Slow death in Win9x - GDI Heap corruption?


Mattias
May 28th, 1999, 12:38 PM
Hi all,

We have a release version ready to go except for one elusive bug:
In Win95 and Win98 but not NT4, the program slowly and randomly destroys any GDI objects. Fonts revert back to system default, CStatic background colors change, CTreeCtrl colors change, Explorer icons get corrupted, Sliders turn into gray boxes that still work if you can guess where the thumb is. It erupts sooner or later with an ugly B/W GDI error dialog, an exception in GDI32.DLL, or with a bluescreen. Once a GDI object it corrupted it stays that way, regardless of repaint.

The program has two threads. One normal main GUI thread, and one render thread that sometimes very quickly blits to the screen (30fps). CriticalSection takes care of making sure that the GUI paint (Invalidated) never overlaps the render thread. Bounds checker is happy.

Some machines are more picky than others. The worst one starts getting corrupted after about 10 mins.

Anybody seen anything like this? Are there GDI debuggers?


Thank you for your time,
Mattias

Mattias Fornander - Development Engineer
mattias@anark.com - Anark