summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormrwastl <mrwastl@users.sourceforge.net>2011-05-08 22:39:47 +0200
committermrwastl <mrwastl@users.sourceforge.net>2011-05-08 22:39:47 +0200
commitfaccbfd4d1b74b3865cd781641070f694b5ae182 (patch)
treef203fde7642c0364762cc71edd4791088a845fab
parentaa5e2205bbc3a7abc05fc50854ba086777541f13 (diff)
downloadvdr-plugin-graphlcd-faccbfd4d1b74b3865cd781641070f694b5ae182.tar.gz
vdr-plugin-graphlcd-faccbfd4d1b74b3865cd781641070f694b5ae182.tar.bz2
update display when re-enabling graphlcd via SVDRP
-rw-r--r--plugin.c1
-rw-r--r--state.c8
2 files changed, 9 insertions, 0 deletions
diff --git a/plugin.c b/plugin.c
index b81fbdd..5d63bad 100644
--- a/plugin.c
+++ b/plugin.c
@@ -262,6 +262,7 @@ cString cPluginGraphLCD::SVDRPCommand(const char *Command, const char *Option, i
}
if (strcasecmp(Command, "ON") == 0) {
GraphLCDSetup.PluginActive = 1;
+ mDisplay->Update();
return "GraphLCD Plugin switched on.";
}
return NULL;
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);