diff options
Diffstat (limited to 'timer.c')
-rw-r--r-- | timer.c | 24 |
1 files changed, 12 insertions, 12 deletions
@@ -24,13 +24,24 @@ int cUpdate::checkSwitchTimer() for (auto it = switchTimers.begin(); it != switchTimers.end(); ) { SwitchTimer* swTimer = &(it->second); + tChannelID channelId = tChannelID::FromString(swTimer->channelId.c_str()); + +#if APIVERSNUM >= 20301 + LOCK_CHANNELS_READ; + const cChannels* channels = Channels; + const cChannel* channel = channels->GetByChannelID(channelId, true); +#else + cChannels* channels = &Channels; + cChannel* channel = channels->GetByChannelID(channelId, true); +#endif if (time(0) < swTimer->start) { if (!swTimer->notified && Epg2VdrConfig.switchTimerNotifyTime && time(0) >= swTimer->start - Epg2VdrConfig.switchTimerNotifyTime) { char* buf; - asprintf(&buf, "Switching in %ld seconds to '%s'", swTimer->start-time(0), swTimer->channelId.c_str()); + asprintf(&buf, tr("Switching in %ld seconds to '%s'"), swTimer->start-time(0), + channel ? channel->Name() : swTimer->channelId.c_str()); Skins.QueueMessage(mtInfo, buf); free(buf); swTimer->notified = yes; @@ -40,17 +51,6 @@ int cUpdate::checkSwitchTimer() continue; } - tChannelID channelId = tChannelID::FromString(swTimer->channelId.c_str()); - -#if APIVERSNUM >= 20301 - LOCK_CHANNELS_READ; - const cChannels* channels = Channels; - const cChannel* channel = channels->GetByChannelID(channelId, true); -#else - cChannels* channels = &Channels; - cChannel* channel = channels->GetByChannelID(channelId, true); -#endif - if (!channel) { tell(0, "Switching to channel '%s' failed, channel not found!", swTimer->channelId.c_str()); |