X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fscreenhack.c;h=52344a35a74a319f09fdbea2c9e8b0e787e6d2ed;hb=f8cf5ac7b2f53510f80a0eaf286a25298be17bfe;hp=f90289d1edbc929fefe5440f0c5289aa35050627;hpb=c1b9b55ad8d59dc05ef55e316aebf5863e7dfa56;p=xscreensaver diff --git a/hacks/screenhack.c b/hacks/screenhack.c index f90289d1..52344a35 100644 --- a/hacks/screenhack.c +++ b/hacks/screenhack.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1992-2008 Jamie Zawinski +/* xscreensaver, Copyright (c) 1992-2012 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -157,6 +157,7 @@ static char *default_defaults[] = { "*mono: false", "*installColormap: false", "*doFPS: false", + "*multiSample: false", "*visualID: default", "*windowID: ", "*desktopGrabber: xscreensaver-getimage %s", @@ -221,6 +222,8 @@ merge_options (void) strcat (newr, oldr); *s = newr; } + else + *s = strdup (*s); } } @@ -442,7 +445,7 @@ screenhack_table_handle_events (Display *dpy, ft->reshape_cb (dpy, window, closure, event.xconfigure.width, event.xconfigure.height); #ifdef DEBUG_PAIR - if (event.xany.window == window2) + if (window2 && event.xany.window == window2) ft->reshape_cb (dpy, window2, closure2, event.xconfigure.width, event.xconfigure.height); #endif @@ -451,7 +454,7 @@ screenhack_table_handle_events (Display *dpy, (! (event.xany.window == window ? ft->event_cb (dpy, window, closure, &event) #ifdef DEBUG_PAIR - : event.xany.window == window2 + : (window2 && event.xany.window == window2) ? ft->event_cb (dpy, window2, closure2, &event) #endif : 0))) @@ -507,7 +510,7 @@ usleep_and_process_events (Display *dpy, static void screenhack_do_fps (Display *dpy, Window w, fps_state *fpst, void *closure) { - fps_compute (fpst, 0); + fps_compute (fpst, 0, -1); fps_draw (fpst); } @@ -572,7 +575,7 @@ run_screenhack_table (Display *dpy, #ifdef DEBUG_PAIR if (window2) ft->free_cb (dpy, window2, closure2); - if (window2) fps_free (fpst2); + if (fpst2) fps_free (fpst2); #endif } @@ -806,6 +809,12 @@ main (int argc, char **argv) exit (help_p ? 0 : 1); } + { + char **s; + for (s = merged_defaults; *s; s++) + free(*s); + } + free (merged_options); free (merged_defaults); merged_options = 0;