Hi,

I googled this and found nothing that helped.

I have some legacy mode OpenGL code that will hopefully one day be replaced, but for now, please bear with the old coding style.

The code chunk in question is very basic and just draws two small characters and a couple of lines for an on-viewport status widget. This code is called from within my main full 3D scene render code. This is not the actual verbatim code but should be sufficient to get the point across. The actual xyz values passed to the RasterPos and Vertex functions are well within +/-20 and should not be relevant to the error/bug.
This code used to work perfectly for the past 5+ years until the latest few versions of ATI Catalyst.
The general code is:

// defined character bitmap arrays, constants, class variables
xxxx
xxxx

DrawWidget()
{
// code here to setup ortho mode for a 50x50 widget viewport and various properties
xxxx
xxxx
// draw char 1
glRasterPos3f(x, y, z);
glBitmap(8,8,0,0,0,0,charx);
// draw line 1
glBegin(GL_LINES);
glVertex3f(x,y,z);
glVertex3f(x,y,z);
glEnd();
// draw char 2
glRasterPos3f(x, y, z);
glBitmap(8,8,0,0,0,0,chary);
// draw line 2
glBegin(GL_LINES);
glVertex3f(x,y,z);
glVertex3f(x,y,z);
glEnd();
}

I have a bunch of development and testing computers here with a variety of video cards and drivers.
This is working just fine on all NVidia and any ATI with older drivers (Catalyst 8-ish).
On newer ATI (Catalyst 11-ish), the lines are not all drawing in the correct location by a significant xyz offset.
I put in glGetError() calls and there are no errors.
If I wrap the bitmap calls in a Push/Pop then it goes back to drawing the lines in their correct locations.
ie:
glPushMatrix();
glRasterPos3f(x, y, z);
glBitmap(8,8,0,0,0,0,chary);
glPopMatrix();

Has anyone ran into this?
Has ATI boffed something up in the latest drivers that is allowing RasterPos to mess up the current matrix and change where the Vertex calls are then ending up at?
Or has my understanding of the workings of glRasterPos/glBitmap been wrong all of these years?

Thanks,
deegee