diff options
author | phintuka <phintuka> | 2006-08-21 21:24:05 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2006-08-21 21:24:05 +0000 |
commit | d4e77453e91a2b3574e6b3d58ff7807f6ff60a7d (patch) | |
tree | 7c4f67b26e8a6b9a5e32f447f503a8afa9e328dd | |
parent | 43073582ebf378886bc7f74792a8071a7c3743b6 (diff) | |
download | xineliboutput-d4e77453e91a2b3574e6b3d58ff7807f6ff60a7d.tar.gz xineliboutput-d4e77453e91a2b3574e6b3d58ff7807f6ff60a7d.tar.bz2 |
Update current channel of original primary device when restoring original
primary device (required for FF card if FF card is in live mode)
-rw-r--r-- | device.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: device.c,v 1.11 2006-08-18 02:22:48 phintuka Exp $ + * $Id: device.c,v 1.12 2006-08-21 21:24:05 phintuka Exp $ * */ @@ -260,6 +260,8 @@ void cXinelibDevice::ForcePrimaryDevice(bool On) TRACEF("cXinelibDevice::ForcePrimaryDevice"); + /* TODO: All this stuff should really be done in VDR main thread context... */ + if(On) { Counter++; if(xc.force_primary_device) { @@ -290,11 +292,13 @@ void cXinelibDevice::ForcePrimaryDevice(bool On) if(cOsd::IsOpen()) { LOGMSG("Restoring primary device, xineliboutput OSD still open !"); #if VDRVERSNUM >= 10400 - xc.main_menu_mode = CloseOsd; + xc.main_menu_mode = CloseOsd; /* will be executed in future by vdr main thread */ cRemote::CallPlugin("xineliboutput"); #endif } + cChannel *channel = Channels.GetByNumber(CurrentChannel()); cDevice::SetPrimaryDevice(Original); + PrimaryDevice()->SwitchChannel(channel, true); Original = 0; } } |