--- gdk/gdkpixbuf-drawable.c.orig 2003-02-05 19:43:30.000000000 -0600 +++ gdk/gdkpixbuf-drawable.c 2003-02-05 19:44:43.000000000 -0600 @@ -982,7 +982,7 @@ #ifdef LITTLE register guint16 *s; /* read 1 pixels at once */ #else - register guint8 *s; + register guint16 *s; #endif register guint32 *o; @@ -995,7 +995,7 @@ #ifdef LITTLE s = (guint16 *) srow; #else - s = srow; + s = (guint16 *) srow; #endif o = (guint32 *) orow; for (xx = x1; xx < x2; xx++) @@ -1145,8 +1145,11 @@ *o++ = 0xff; s += 4; #else - *o++ = (*s << 8) | 0xff; /* untested */ - s++; + *o++ = s[1]; + *o++ = s[2]; + *o++ = s[3]; + *o++ = 0xff; + s += 4; #endif } srow += bpl;