X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=driver%2Fprefs.c;h=e2d765ab377d8cd605497c72890cd3b32c3374c3;hb=8afc01a67be4fbf3f1cc0fce9adf01b5289a21c6;hp=4d6c80e2b0f60bf563b7ffcd5125e3e0ca2d0da2;hpb=ff35d056d723c9a5ffe728dbba5f1c25e141be04;p=xscreensaver diff --git a/driver/prefs.c b/driver/prefs.c index 4d6c80e2..e2d765ab 100644 --- a/driver/prefs.c +++ b/driver/prefs.c @@ -1635,7 +1635,9 @@ stop_the_insanity (saver_preferences *p) if (p->dpms_standby == 0 && /* if *all* are 0, then DPMS is disabled */ p->dpms_suspend == 0 && - p->dpms_off == 0) + p->dpms_off == 0 && + !(p->dpms_quickoff_p) /* ... but we want to do DPMS quick off */ + ) p->dpms_enabled_p = False; @@ -1659,16 +1661,18 @@ senescent_p (void) { time_t now = time ((time_t *) 0); struct tm *tm = localtime (&now); - char *s, mon[4], year[5]; + const char *s = screensaver_id; + char mon[4], year[5]; int m, y, months; - s = strchr (screensaver_id, '-'); - s++; + s = strchr (s, ' '); if (!s) abort(); s++; + s = strchr (s, '('); if (!s) abort(); s++; + s = strchr (s, '-'); if (!s) abort(); s++; strncpy (mon, s, 3); - s = strchr (s, '-'); - s++; - strncpy (year, s, 4); mon[3] = 0; + s = strchr (s, '-'); if (!s) abort(); s++; + strncpy (year, s, 4); year[4] = 0; + y = atoi (year); if (!strcmp(mon, "Jan")) m = 0; else if (!strcmp(mon, "Feb")) m = 1; else if (!strcmp(mon, "Mar")) m = 2; @@ -1682,9 +1686,6 @@ senescent_p (void) else if (!strcmp(mon, "Nov")) m = 10; else if (!strcmp(mon, "Dec")) m = 11; else abort(); - - y = (year[0]-'0')*1000 + (year[1]-'0')*100 + (year[2]-'0')*10 +(year[3]-'0'); - months = ((((tm->tm_year + 1900) * 12) + tm->tm_mon) - (y * 12 + m));