diff --git a/HISTORY b/HISTORY index 5baa14c2..fdafdfd5 100644 --- a/HISTORY +++ b/HISTORY @@ -2741,3 +2741,5 @@ Video Disk Recorder Revision History - Improved performance when paging through very long menu lists. - Removed cSchedule::GetEventNumber() and cSchedule::NumEvents(). There is now cSchedule::Events() that returns the list of events directly. +- Avoiding occasional bad responsiveness to user interaction caused by assigning + events to timers. diff --git a/vdr.c b/vdr.c index ec03c21a..af95f377 100644 --- a/vdr.c +++ b/vdr.c @@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/vdr * - * $Id: vdr.c 1.179 2004/03/07 09:39:54 kls Exp $ + * $Id: vdr.c 1.180 2004/03/14 14:25:02 kls Exp $ */ #include @@ -549,10 +549,13 @@ int main(int argc, char *argv[]) PreviousChannel[PreviousChannelIndex ^= 1] = LastChannel; // Timers and Recordings: if (!Timers.BeingEdited()) { - static time_t LastSetEvents = 0;//XXX trigger by actual EPG data modification??? - if (!Menu && time(NULL) - LastSetEvents > 5) { - Timers.SetEvents(); - LastSetEvents = time(NULL); + // Assign events to timers: + if (time(NULL) - LastActivity > 10) { + static time_t LastSetEvents = 0;//XXX trigger by actual EPG data modification??? + if (time(NULL) - LastSetEvents > 5) { + Timers.SetEvents(); + LastSetEvents = time(NULL); + } } time_t Now = time(NULL); // must do all following calls with the exact same time! // Process ongoing recordings: