--- Utilities/mng.c.old 2005-05-02 19:25:48.000000000 -0700 +++ Utilities/mng.c 2005-05-02 19:41:24.000000000 -0700 @@ -217,7 +217,7 @@ // BGRA8 unsigned int i = mymng->width; unsigned int fr, fg, fb, br, bg, bb, r, g, b, a; - unsigned short output, input; + unsigned short output, input, *ptr; while (i--) { fb = *src++; @@ -228,7 +228,10 @@ a = a * mymng->alpha / 100; switch (mymng->fbbpp) { case 16: - input = *((unsigned short *) background)++; + input = *((unsigned short *) background); + ptr = (unsigned short *) background; + ptr++; + background = ptr; br = (input >> mng->fbredo) << (8 - mng->fbredl); bg = (input >> mng->fbgreeno) << (8 - @@ -279,7 +282,10 @@ fbgreeno) | (b << mng-> fbblueo); - *((unsigned short *) dest)++ = output; + *((unsigned short *) dest) = output; + ptr = (unsigned short *) dest; + ptr++; + dest = ptr; break; case 24: *dest++ = b; .