summaryrefslogtreecommitdiff
path: root/setup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'setup.cpp')
-rw-r--r--setup.cpp28
1 files changed, 23 insertions, 5 deletions
diff --git a/setup.cpp b/setup.cpp
index bf2653f..507f85d 100644
--- a/setup.cpp
+++ b/setup.cpp
@@ -57,9 +57,17 @@ cMenuSetupXmltv2vdr::cMenuSetupXmltv2vdr(cPluginXmltv2vdr *Plugin)
wakeup=baseplugin->WakeUp;
upstart=baseplugin->UpStart;
exectime=baseplugin->ExecTime();
+ cs=NULL;
+ cm=NULL;
Output();
}
+cMenuSetupXmltv2vdr::~cMenuSetupXmltv2vdr()
+{
+ if (cs) cs->ClearMenu();
+ if (cm) cm->ClearMenu();
+}
+
void cMenuSetupXmltv2vdr::Output(void)
{
if (!baseplugin) return;
@@ -202,12 +210,14 @@ eOSState cMenuSetupXmltv2vdr::edit()
{
if ((Current()>=sourcesBegin) && (Current()<=sourcesEnd))
{
- return AddSubMenu(new cMenuSetupXmltv2vdrChannelSource(baseplugin,this,Current()-sourcesBegin));
+ cs=new cMenuSetupXmltv2vdrChannelSource(baseplugin,this,Current()-sourcesBegin);
+ return AddSubMenu(cs);
}
if ((Current()>=mappingBegin) && (Current()<=mappingEnd))
{
- return AddSubMenu(new cMenuSetupXmltv2vdrChannelMap(baseplugin,this,Current()-mappingBegin));
+ cm=new cMenuSetupXmltv2vdrChannelMap(baseplugin,this,Current()-mappingBegin);
+ return AddSubMenu(cm);
}
if (Current()==mappingEntry)
{
@@ -634,8 +644,12 @@ cMenuSetupXmltv2vdrChannelSource::cMenuSetupXmltv2vdrChannelSource(cPluginXmltv2
cMenuSetupXmltv2vdrChannelSource::~cMenuSetupXmltv2vdrChannelSource()
{
+ if (menu)
+ {
+ menu->Output();
+ menu->ClearCS();
+ }
if (sel) delete [] sel;
- if (menu) menu->Output();
}
cOsdItem *cMenuSetupXmltv2vdrChannelSource::newtitle(const char *s)
@@ -728,8 +742,12 @@ cMenuSetupXmltv2vdrChannelMap::cMenuSetupXmltv2vdrChannelMap(cPluginXmltv2vdr *P
cMenuSetupXmltv2vdrChannelMap::~cMenuSetupXmltv2vdrChannelMap()
{
+ if (menu)
+ {
+ menu->Output();
+ menu->ClearCM();
+ }
if (map) delete map;
- if (menu) menu->Output();
}
int cMenuSetupXmltv2vdrChannelMap::getdaysmax()
@@ -814,7 +832,7 @@ void cMenuSetupXmltv2vdrChannelMap::output(void)
Add(new cMyMenuEditBitItem(tr(" actors"),&flags,CREDITS_ACTORS),true);
Add(new cMyMenuEditBitItem(tr(" director"),&flags,CREDITS_DIRECTORS),true);
Add(new cMyMenuEditBitItem(tr(" other crew"),&flags,CREDITS_OTHERS),true);
- Add(new cMyMenuEditBitItem(tr(" output"),&flags,CREDITS_LIST,tr("singleline"),tr("multiline")),true);
+ Add(new cMyMenuEditBitItem(tr(" output"),&flags,CREDITS_LIST,tr("multiline"),tr("singleline")),true);
}
Add(new cMyMenuEditBitItem(tr("rating"),&flags,USE_RATING),true);