X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=utils%2Fvisual.c;h=4e88bea5a36a378ade0b23bff3635f181c50e4f4;hb=14627f4038ada5d11456f3770090f3c39740d70f;hp=195ef79db8ff1a5092d8c40ccbfbf6beb4afffd4;hpb=df7adbee81405e2849728a24b498ad2117784b1f;p=xscreensaver diff --git a/utils/visual.c b/utils/visual.c index 195ef79d..4e88bea5 100644 --- a/utils/visual.c +++ b/utils/visual.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998, 1999 +/* xscreensaver, Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 * by Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its @@ -36,8 +36,6 @@ static Visual *pick_best_visual (Screen *, Bool, Bool); static Visual *pick_mono_visual (Screen *); static Visual *pick_best_visual_of_class (Screen *, int); static Visual *pick_best_gl_visual (Screen *); -static Visual *id_to_visual (Screen *, int); -static Visual *id_to_visual (Screen *screen, int id); #define DEFAULT_VISUAL -1 @@ -62,7 +60,7 @@ get_visual (Screen *screen, const char *string, Bool prefer_writable_cells, for (tmp = v; *tmp; tmp++) if (isupper (*tmp)) *tmp = _tolower (*tmp); - if (!v) vclass = BEST_VISUAL; + if (!v || !*v) vclass = BEST_VISUAL; else if (!strcmp (v, "default")) vclass = DEFAULT_VISUAL; else if (!strcmp (v, "best")) vclass = BEST_VISUAL; else if (!strcmp (v, "mono")) vclass = MONO_VISUAL; @@ -135,7 +133,7 @@ get_visual (Screen *screen, const char *string, Bool prefer_writable_cells, if (visual) result = visual; else if (verbose_p) - fprintf (stderr, "%s: no visual suitable for GL.\n", progname, v); + fprintf (stderr, "%s: no visual suitable for GL.\n", progname); } else if (vclass == SPECIFIC_VISUAL) { @@ -263,7 +261,8 @@ pick_best_visual_of_class (Screen *screen, int visual_class) /* choose the 'best' one, if multiple */ int i, best; Visual *visual; - for (i = 0, best = 0; i < out_count; i++) +/* for (i = 0, best = 0; i < out_count; i++) */ + for (i = out_count-1, best = i; i >= 0; i--) /* go backwards */ /* It's better if it's deeper, or if it's the same depth with more cells (does that ever happen? Well, it could...) */ if ((vi_out [i].depth > vi_out [best].depth) || @@ -325,7 +324,7 @@ pick_best_gl_visual (Screen *screen) result = vi_out[0].visual; } - if (result) + if (!result) /* No half-depth TrueColor? Ok, try for any TrueColor (the deepest.) */ result = pick_best_visual_of_class (screen, TrueColor); @@ -337,7 +336,7 @@ pick_best_gl_visual (Screen *screen) } -static Visual * +Visual * id_to_visual (Screen *screen, int id) { Display *dpy = DisplayOfScreen (screen);