diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2006-10-15 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2006-10-15 18:00:00 +0200 |
commit | 9ef312f888aae6167bf210d0d1bb8fcb9b787584 (patch) | |
tree | 1989ca4992d851a76d0c9a50df7d5748dea7fc16 /vdr.c | |
parent | 948c370a29a21ac1fc9531f7e92d99e24734dcf4 (diff) | |
download | vdr-patch-lnbsharing-9ef312f888aae6167bf210d0d1bb8fcb9b787584.tar.gz vdr-patch-lnbsharing-9ef312f888aae6167bf210d0d1bb8fcb9b787584.tar.bz2 |
Version 1.4.3-2vdr-1.4.3-2
- Fixed clearing an event's Title, ShortText and Description in case the data comes
from an external source.
- Updated the Hungarian language texts (thanks to Guido Josten).
- Fixed a possible crash if cPluginManager::GetPlugin() is called with a NULL
pointer (thanks to Petri Hintukainen).
- Fixed displaying the error log message in case an unknown plugin was requested
in a key macro (thanks to Petri Hintukainen).
- Keys from expanded key macros are now put into the front of the key queue to
avoid problems if the queue is not empty at that time (based on a patch from
Petri Hintukainen).
- cKeyMacro now has an explicit counter for the number of keys it contains.
- cRemote::PutMacro() now sets a lock while it expands the macro (thanks to
Petri Hintukainen).
- Fixed handling plugins from cRemote::PutMacro() and cRemote::CallPlugin()
(based on a patch from Petri Hintukainen).
- Increased the size of the key queue to avoid problems with long key macros.
Diffstat (limited to 'vdr.c')
-rw-r--r-- | vdr.c | 25 |
1 files changed, 14 insertions, 11 deletions
@@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/vdr * - * $Id: vdr.c 1.279 2006/09/01 12:57:44 kls Exp $ + * $Id: vdr.c 1.280 2006/10/14 10:01:32 kls Exp $ */ #include <getopt.h> @@ -923,17 +923,20 @@ int main(int argc, char *argv[]) case kCommands: DirectMainFunction(osCommands); break; case kUser1 ... kUser9: cRemote::PutMacro(key); key = kNone; break; case k_Plugin: { - DELETE_MENU; - if (cControl::Control()) - cControl::Control()->Hide(); - cPlugin *plugin = cPluginManager::GetPlugin(cRemote::GetPlugin()); - if (plugin) { - Menu = plugin->MainMenuAction(); - if (Menu) - Menu->Show(); + const char *PluginName = cRemote::GetPlugin(); + if (PluginName) { + DELETE_MENU; + if (cControl::Control()) + cControl::Control()->Hide(); + cPlugin *plugin = cPluginManager::GetPlugin(PluginName); + if (plugin) { + Menu = plugin->MainMenuAction(); + if (Menu) + Menu->Show(); + } + else + esyslog("ERROR: unknown plugin '%s'", PluginName); } - else - esyslog("ERROR: unknown plugin '%s'", cRemote::GetPlugin()); key = kNone; // nobody else needs to see these keys } break; |