http://ftp.x.org/contrib/applications/xscreensaver-3.06.tar.gz
[xscreensaver] / hacks / xlockmore.c
index 540bc264d861321699ba0a648650bcc5be7cb974..62c2dc79341ae86e56659006d35d591b95ac1400 100644 (file)
@@ -140,8 +140,11 @@ pre_merge_options (void)
   for (j = 0; j < xlockmore_opts->numvarsdesc; j++)
     {
       const char *def = xlockmore_opts->vars[j].def;
-      if (!def) def = "False";
-      if (def == ((char*) 1)) def = "True";
+
+      if (!def) abort();
+      if (!*def) abort();
+      if (strlen(def) > 1000) abort();
+
       s = (char *) malloc (strlen (xlockmore_opts->vars[j].name) +
                           strlen (def) + 10);
       strcpy (s, "*");
@@ -325,6 +328,7 @@ xlockmore_screenhack (Display *dpy, Window window,
   do {
     hack_draw (&mi);
     XSync(dpy, False);
+    screenhack_handle_events (dpy);
     if (mi.pause)
       usleep(mi.pause);
     mi.pause = orig_pause;