diff -ur x.old/xc/programs/Xserver/os/WaitFor.c x.new/xc/programs/Xserver/os/WaitFor.c --- x.old/xc/programs/Xserver/os/WaitFor.c 2004-04-23 19:54:28.000000000 +0000 +++ x.new/xc/programs/Xserver/os/WaitFor.c 2004-11-11 01:31:45.512438770 +0000 @@ -667,13 +667,24 @@ DPMSStandbyTimer = TimerSet(DPMSStandbyTimer, 0, DPMSStandbyTime, DPMSStandbyTimerExpire, NULL); } + else if (DPMSStandbyTimer) { + TimerCancel(DPMSStandbyTimer); + } + if (DPMSSuspendTime > 0) { DPMSSuspendTimer = TimerSet(DPMSSuspendTimer, 0, DPMSSuspendTime, DPMSSuspendTimerExpire, NULL); } + else if (DPMSSuspendTimer) { + TimerCancel(DPMSSuspendTimer); + } + if (DPMSOffTime > 0) { DPMSOffTimer = TimerSet(DPMSOffTimer, 0, DPMSOffTime, DPMSOffTimerExpire, NULL); } + else if (DPMSOffTimer) { + TimerCancel(DPMSOffTimer); + } } #endif