diff options
| -rw-r--r-- | HISTORY | 2 | ||||
| -rw-r--r-- | txtrecv.c | 11 | ||||
| -rw-r--r-- | txtrecv.h | 1 |
3 files changed, 4 insertions, 10 deletions
@@ -10,6 +10,8 @@ VDR Plugin 'osdteletext' Revision History - Added command line option to enable storing TopText pages, which is now disabled by default (References #177) (Thx to Andreas Brachold!) - Makefile adjustments for VDR 1.7.13. +- Don't care if the current channel really changed, if we get a channel switch + on the primary device (Thx to Sören Moch) 2009-06-02: version 0.8.3 - Updated Ukrainian translation provided by Yarema P. aka Knedlyk (Closes #133) @@ -476,7 +476,6 @@ cTxtStatus::cTxtStatus(bool storeTopText, Storage* storage) :storeTopText(storeTopText), storage(storage) { receiver = NULL; - currentLiveChannel = tChannelID::InvalidID; } cTxtStatus::~cTxtStatus() @@ -494,26 +493,20 @@ void cTxtStatus::ChannelSwitch(const cDevice *Device, int ChannelNumber) cChannel* newLiveChannel = Channels.GetByNumber(ChannelNumber); if (newLiveChannel == NULL) return; - // ignore if channel hasn't changed - if (currentLiveChannel == newLiveChannel->GetChannelID()) return; - // ignore non-live-channel-switching if (!Device->IsPrimaryDevice() || ChannelNumber != cDevice::CurrentChannel()) return; - // At this point it seems to be pretty sure to me, that the live - // channel was changed to a new channel and OSDTeletext can + // live channel was changed // now re-attach the receiver to the new live channel - currentLiveChannel = newLiveChannel->GetChannelID(); - delete receiver; receiver = NULL; int TPid = newLiveChannel->Tpid(); if (TPid) { - receiver = new cTxtReceiver(TPid, currentLiveChannel, storeTopText, storage); + receiver = new cTxtReceiver(TPid, newLiveChannel->GetChannelID(), storeTopText, storage); cDevice::ActualDevice()->AttachReceiver(receiver); } @@ -173,7 +173,6 @@ public: class cTxtStatus : public cStatus { private: cTxtReceiver *receiver; - tChannelID currentLiveChannel; bool storeTopText; Storage* storage; protected: |
