Win95 shear on SDL founts

Founts takes an optional command line argument which it will use
to open up the original window. There is a problem appearing on win95
depending on the low two bits of that value:
00 = ok
01 = ok
10 = shear
11 = shear

I’m using the surface->stride value for my rendering routines. All I can
figure out is

  1. SDL_UpdateRect is not working right for such cases
  2. surface->stride changes some time after the window has been opened. I
    am treating it as if it is a fixed value, and I grab it once and compute
    an array of line pointers, indexing into each line of the window.

Works fine on linux though.

BTW By shear I mean the graphics get displayed in a slant, so each line is
shifted to the left with respect to the line above it. Like this: /

Have I uncovered a bug? I can see how typical window X dimensions are a nice
multiple of 128 normally. Not some oddball number like 102.

The win32 executable that I compiled can be found on
www.xdr.com/founts.zip
The source is on
www.xdr.com/dash/founts-11.tgz
-Dave