X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fscreenhack.c;h=be5c19befc6aad8defb6eaab1fed1274d6dec039;hb=a445bdd3e3ba4abbee441844b6665b4c3c13d48c;hp=9664f803f7ff25d7fc58c4bad700e2c3bc6bd545;hpb=0ed85ca0e4b0eae40a4f50a51d63f2f41e45373a;p=xscreensaver diff --git a/hacks/screenhack.c b/hacks/screenhack.c index 9664f803..be5c19be 100644 --- a/hacks/screenhack.c +++ b/hacks/screenhack.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1992, 1995, 1997, 1998 +/* xscreensaver, Copyright (c) 1992, 1995, 1997, 1998, 2001 * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its @@ -77,7 +77,6 @@ static XrmOptionDescRec default_options [] = { { "-install", ".installColormap", XrmoptionNoArg, "True" }, { "-noinstall",".installColormap", XrmoptionNoArg, "False" }, { "-visual", ".visualID", XrmoptionSepArg, 0 }, - { "-window-id", ".windowID", XrmoptionSepArg, 0 }, { 0, 0, 0, 0 } }; @@ -87,7 +86,6 @@ static char *default_defaults[] = { "*mono: false", "*installColormap: false", "*visualID: default", - "*windowID: ", 0 }; @@ -276,9 +274,9 @@ pick_visual (Screen *screen) /* Notice when the user has requested a different visual or colormap - on a pre-existing window (e.g., "-root -visual truecolor" or - "-window-id 0x2c00001 -install") and complain, since when drawing - on an existing window, we have no choice about these things. + on a pre-existing window (e.g., "-root -visual truecolor") and + complain, since when drawing on an existing window, we have no + choice about these things. */ static void visual_warning (Screen *screen, Window window, Visual *visual, Colormap cmap, @@ -329,6 +327,11 @@ visual_warning (Screen *screen, Window window, Visual *visual, Colormap cmap, fprintf (stderr, "%s: using %s's colormap 0x%x.\n", progname, win, (unsigned long) cmap); } + +# ifdef USE_GL + if (!validate_gl_visual (stderr, screen, win, visual)) + exit (1); +# endif /* USE_GL */ } @@ -342,7 +345,6 @@ main (int argc, char **argv) Visual *visual; Colormap cmap; Bool root_p; - Window on_window = 0; XEvent event; Boolean dont_clear /*, dont_map */; char version[255]; @@ -436,24 +438,7 @@ main (int argc, char **argv) root_p = get_boolean_resource ("root", "Boolean"); - { - char *s = get_string_resource ("windowID", "WindowID"); - if (s && *s) - on_window = get_integer_resource ("windowID", "WindowID"); - if (s) free (s); - } - - if (on_window) - { - XWindowAttributes xgwa; - window = (Window) on_window; - XtDestroyWidget (toplevel); - XGetWindowAttributes (dpy, window, &xgwa); - cmap = xgwa.colormap; - visual = xgwa.visual; - visual_warning (screen, window, visual, cmap, True); - } - else if (root_p) + if (root_p) { XWindowAttributes xgwa; window = RootWindowOfScreen (XtScreen (toplevel)); @@ -468,6 +453,11 @@ main (int argc, char **argv) Boolean def_visual_p; visual = pick_visual (screen); +# ifdef USE_GL + if (!validate_gl_visual (stderr, screen, "window", visual)) + exit (1); +# endif /* USE_GL */ + if (toplevel->core.width <= 0) toplevel->core.width = 600; if (toplevel->core.height <= 0) @@ -559,7 +549,7 @@ main (int argc, char **argv) XClearWindow (dpy, window); } - if (!root_p && !on_window) + if (!root_p) /* wait for it to be mapped */ XIfEvent (dpy, &event, MapNotify_event_p, (XPointer) window); @@ -569,7 +559,7 @@ main (int argc, char **argv) seeded in any screenhack. You do not need to seed the RNG again, it is done for you before your code is invoked. */ # undef ya_rand_init - ya_rand_init ((int) time ((time_t *) 0)); + ya_rand_init (0); screenhack (dpy, window); /* doesn't return */ return 0;