| Bug#: 76946 | Product: Gentoo Linux | Version: unspecified | Platform: x86 |
| OS/Version: Linux | Status: RESOLVED | Severity: normal | Priority: P2 |
| Resolution: FIXED | Assigned To: games@gentoo.org | Reported By: tupone@gentoo.org | |
| Component: Library | |||
| URL: | |||
| Summary: direct-color 8 bit on x11 broken in libsdl | |||
| Keywords: | |||
| Status Whiteboard: | |||
| Opened: 2005-01-06 14:32 0000 | |||
| Description: | Opened: 2005-01-06 14:32 0000 |
SDL_pixel.c on src/video/x11 seems to force an 8 bit framebuffer to be
pseudocolor. There are system where you can set it as a direct or true color .
I attach inline a patch to that file.
--- SDL_pixels.c.orig 2005-01-03 21:42:33.000000000 +0100
+++ SDL_pixels.c 2005-01-04 22:33:44.698156027 +0100
@@ -135,7 +135,8 @@
format->Amask = 0;
break;
- case 8:
+ default:
+ if ((bpp == 8) && !Rmask && !Gmask && !Bmask) {
/* Create an empty 256 color palette */
format->palette = (SDL_Palette *)malloc(
sizeof(SDL_Palette));
@@ -168,9 +169,7 @@
format->Gmask = 0;
format->Bmask = 0;
format->Amask = 0;
- break;
-
- default:
+ } else {
/* No palette, just packed pixel info */
format->palette = NULL;
format->Rshift = 0;
@@ -209,6 +208,7 @@
format->Gmask = Gmask;
format->Bmask = Bmask;
format->Amask = Amask;
+ }
break;
}
/* Calculate some standard bitmasks, if necessary
Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Please please please don't inline patches, but now that you have, don't worry about it.
e-mailed patch upstream, i'll see what they say about it
upstream got their stuff in gear and created a much more extensive patch ive added that to cvs for 1.2.8-r1, thanks :)
This patch breaks Aleph One! Guess we'll have to investigate who's done wrong.