• Sam Lantinga's avatar
    Date: Tue, 12 Aug 2003 14:26:19 +0200 (MEST) · d8ae01f1
    Sam Lantinga authored
    From: "Mattias Engdeg?rd"
    Subject: bug in SDL_GetRGB/GetRGBA
    
    There's an embarrassing bug in GetRGB/GetRGBA which apparently has been there
    for years. It incorrectly converts colours with < 8 bits/channel.
    It came to my attention today in #sdl.
    
    What it does now is (for each channel):
    
      rv = (pixel & fmt->Rmask) >> fmt->Rshift;
      *r = (rv << fmt->Rloss) + (rv >> (8 - fmt->Rloss));
    
    which is wrong; the last line should be
    
      *r = (rv << fmt->Rloss) + (rv >> (8 - (fmt->Rloss << 1)));
    
    --HG--
    extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40689
    d8ae01f1
Name
Last commit
Last update
..
audio Loading commit data...
cdrom Loading commit data...
endian Loading commit data...
events Loading commit data...
file Loading commit data...
hermes Loading commit data...
joystick Loading commit data...
main Loading commit data...
thread Loading commit data...
timer Loading commit data...
video Loading commit data...
.cvsignore Loading commit data...
Makefile.am Loading commit data...
SDL.c Loading commit data...
SDL_error.c Loading commit data...
SDL_error_c.h Loading commit data...
SDL_fatal.c Loading commit data...
SDL_fatal.h Loading commit data...
SDL_getenv.c Loading commit data...
SDL_loadso.c Loading commit data...