Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Fixed DirectColor visual window creation problem
- Loading branch information
Showing
with
10 additions
and
9 deletions.
-
+0
−1
TODO
-
+3
−7
src/video/x11/SDL_x11modes.c
-
+7
−1
src/video/x11/SDL_x11window.c
|
@@ -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, |
|
|