mirror of
https://github.com/yawut/SDL.git
synced 2026-08-22 00:35:18 -05:00
Fixed DirectColor visual window creation problem
This commit is contained in:
1
TODO
1
TODO
@@ -7,7 +7,6 @@
|
||||
* Implement icon support (with translucency?)
|
||||
* Add diagonal line clipping to SDL_IntersectRectAndLine()
|
||||
* Add OpenGL 3.0 context support
|
||||
* Have Bob look at why DirectColor visuals fail with XA_RGB_BEST_MAP error
|
||||
* Verify mouse grab support
|
||||
* Properly handle mouse grab with Vista DPI scaling
|
||||
* Make sure the mouse is where it's supposed to be when un-grabbed
|
||||
|
||||
@@ -32,13 +32,9 @@ static int
|
||||
get_visualinfo(Display * display, int screen, XVisualInfo * vinfo)
|
||||
{
|
||||
const char *visual_id = SDL_getenv("SDL_VIDEO_X11_VISUALID");
|
||||
/* FIXME FIXME FIXME
|
||||
* Window creation fails in the colormap code on DirectColor visuals:
|
||||
* XA_RGB_BEST_MAP not found and could not be created
|
||||
* I'm disabling this for now until Bob can look at it. We don't need
|
||||
* it until we implement the gamma fading using DirectColor RGB ramps
|
||||
*/
|
||||
int use_directcolor = 0;
|
||||
/* We really don't need DirectColor visuals until we implement
|
||||
* gamma ramps, but we'll leave it on for now to catch bugs */
|
||||
int use_directcolor = 1;
|
||||
int depth;
|
||||
|
||||
/* Look for an exact visual, if requested */
|
||||
|
||||
@@ -212,7 +212,7 @@ X11_CreateWindow(_THIS, SDL_Window * window)
|
||||
xattr.background_pixel = 0;
|
||||
xattr.border_pixel = 0;
|
||||
|
||||
if (visual->class == DirectColor || visual->class == PseudoColor) {
|
||||
if (visual->class == PseudoColor) {
|
||||
int nmaps;
|
||||
XStandardColormap cmap;
|
||||
XStandardColormap *stdmaps;
|
||||
@@ -299,6 +299,12 @@ X11_CreateWindow(_THIS, SDL_Window * window)
|
||||
X11_TrackColormap(data->display, displaydata->screen, colormap,
|
||||
&cmap, visual);
|
||||
}
|
||||
} else if (visual->class == DirectColor) {
|
||||
/* FIXME: Allocate a read-write colormap for gamma fading someday */
|
||||
xattr.colormap =
|
||||
XCreateColormap(data->display,
|
||||
RootWindow(data->display, displaydata->screen),
|
||||
visual, AllocNone);
|
||||
} else {
|
||||
xattr.colormap =
|
||||
XCreateColormap(data->display,
|
||||
|
||||
Reference in New Issue
Block a user