summaryrefslogtreecommitdiff
path: root/state.c
diff options
context:
space:
mode:
Diffstat (limited to 'state.c')
-rw-r--r--state.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/state.c b/state.c
index d9a1bf0..ee8edd8 100644
--- a/state.c
+++ b/state.c
@@ -606,6 +606,14 @@ void cGraphLCDState::UpdateChannelInfo(void)
if (mChannel.number == 0)
return;
+ // correct stored channel number if differs from device's channel number
+ // e.g after switching off plugin, switching channel, re-enabling plugin
+ if (mChannel.number != cDevice::CurrentChannel()) {
+ mutex.Lock();
+ mChannel.number = cDevice::CurrentChannel();
+ mutex.Unlock();
+ }
+
mutex.Lock();
cChannel * ch = Channels.GetByNumber(mChannel.number);