Drawing the following simple polygon causes screen corruption with gc.SetOrigin(TPoint(-1, 0));, but no problems with any other positive or negative x offset I tried. The problem is always reproducible both on 6600 device and emulator, and arises for many polygons. I use gc.SetOrigin for scrolling; translating polygons manually would break a lot of existing code, and also slower I think. What can I do with it?

Code:
            CWindowGc& gc = SystemGc();
            gc.Clear();
            TPoint points[] = {
                TPoint( 93, 111),
                TPoint( 92, 108),
                TPoint( 77, 116),
                TPoint( 78, 120),
                TPoint( 66, 118),
                TPoint( 66, 120),
                TPoint( 80, 122),
                TPoint( 80, 118),
                TPoint( 93, 111)
            };
            const TInt numPoints = 9;
            gc.SetPenColor(TRgb(0, 0, 0xFF));
            gc.SetBrushColor(TRgb(0));
            gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
            gc.SetOrigin(TPoint(-1, 0));
            gc.DrawPolygon(points, numPoints);