ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/rxvtimg.C
(Generate patch)

Comparing rxvt-unicode/src/rxvtimg.C (file contents):
Revision 1.55 by root, Thu Jun 7 20:26:21 2012 UTC vs.
Revision 1.58 by root, Thu Jun 7 20:35:35 2012 UTC

121 uint8_t g = *src++; 121 uint8_t g = *src++;
122 uint8_t b = *src++; 122 uint8_t b = *src++;
123 123
124 uint32_t v = (r << 16) | (g << 8) | b; 124 uint32_t v = (r << 16) | (g << 8) | b;
125 125
126 if (ecb_big_endian ()) 126 if (ecb_big_endian () ? !byte_order_mismatch : byte_order_mismatch)
127 v = ecb_bswap32 (v);
128
129 if (byte_order_mismatch)
130 v = ecb_bswap32 (v); 127 v = ecb_bswap32 (v);
131 128
132 *dst++ = v; 129 *dst++ = v;
133 } 130 }
134 else 131 else
135 for (int x = 0; x < width; x++) 132 for (int x = 0; x < width; x++)
136 { 133 {
137 uint32_t v = *(uint32_t *)src; src += 4; 134 uint32_t v = *(uint32_t *)src; src += 4;
138 135
139 if (ecb_little_endian ()) 136 if (ecb_big_endian ())
140 v = ecb_bswap32 (v); 137 v = ecb_bswap32 (v);
141 138
142 v = ecb_rotr32 (v, 8); 139 v = ecb_rotl32 (v, 8); // abgr to bgra
143 140
144 if (byte_order_mismatch) 141 if (!byte_order_mismatch)
145 v = ecb_bswap32 (v); 142 v = ecb_bswap32 (v);
146 143
147 *dst++ = v; 144 *dst++ = v;
148 } 145 }
149 146

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines