summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2015-03-20 16:20:42 +0100
committerlouis <louis.braun@gmx.de>2015-03-20 16:20:42 +0100
commit9a3b32cd54c53dadc6b5512b1ed1684ebe2a104d (patch)
tree40f5726d1ec1cebb631636ed12e140cdeaef42c1
parente6eea29fda90b7151fb459c353394155287da4df (diff)
downloadvdr-plugin-tvguideng-9a3b32cd54c53dadc6b5512b1ed1684ebe2a104d.tar.gz
vdr-plugin-tvguideng-9a3b32cd54c53dadc6b5512b1ed1684ebe2a104d.tar.bz2
fixed bug that recmenu was not hide when displaying detailed view in some cases
-rw-r--r--HISTORY2
-rw-r--r--recmenuview.c18
-rw-r--r--recmenuview.h4
-rw-r--r--tvguidengosd.c5
4 files changed, 17 insertions, 12 deletions
diff --git a/HISTORY b/HISTORY
index ad5f843..9394119 100644
--- a/HISTORY
+++ b/HISTORY
@@ -10,5 +10,7 @@ Version 0.0.2
- fixed bug that timemanager does not use configured display time
- fixed crash if a channel group is empty
- fixed display of background if recmenu was hidden
+- fixed bug that recmenu was not hide when displaying detailed view
+ in some cases
diff --git a/recmenuview.c b/recmenuview.c
index 5f20197..bf34ca0 100644
--- a/recmenuview.c
+++ b/recmenuview.c
@@ -76,17 +76,21 @@ void cRecMenuView::Close(void) {
active = false;
}
-void cRecMenuView::Hide(void) {
- if (recMenuViewBuffer)
- recMenuViewBuffer->Deactivate(true);
- else
+void cRecMenuView::Hide(bool full) {
+ if (recMenuViewBuffer) {
+ recMenuViewBuffer->Deactivate(true);
+ if (full)
+ recMenuView->Deactivate(true);
+ } else
recMenuView->Deactivate(true);
}
-void cRecMenuView::Activate(void) {
- if (recMenuViewBuffer)
+void cRecMenuView::Activate(bool full) {
+ if (recMenuViewBuffer) {
recMenuViewBuffer->Activate();
- else
+ if (full)
+ recMenuView->Activate();
+ } else
recMenuView->Activate();
}
diff --git a/recmenuview.h b/recmenuview.h
index dfc526c..3cfb1d7 100644
--- a/recmenuview.h
+++ b/recmenuview.h
@@ -33,8 +33,8 @@ public:
void DisplayRecMenu(const cEvent *event);
void DisplayFavorites(void);
void Close(void);
- void Hide(void);
- void Activate(void);
+ void Hide(bool full = false);
+ void Activate(bool full = false);
eOSState ProcessKey(eKeys Key);
void Flush(void) { activeMenu->Flush(); };
const cEvent *GetEvent(void) { return displayEvent; };
diff --git a/tvguidengosd.c b/tvguidengosd.c
index c49f816..36a738e 100644
--- a/tvguidengosd.c
+++ b/tvguidengosd.c
@@ -122,7 +122,6 @@ eOSState cTVGuideOSD::ProcessKey(eKeys Key) {
detailView->Flush();
}
} else {
-
//EPG Grid is active
switch (Key & ~k_Repeat) {
case kBack:
@@ -432,7 +431,7 @@ void cTVGuideOSD::DetailView(const cEvent *e) {
return;
epgGrid->Deactivate(true);
if (recMenuView->Active())
- recMenuView->Hide();
+ recMenuView->Hide(true);
cOsdView *dV = GetOsdView(viRootView, viDetailView);
detailView = new cDetailView(dV, e);
detailView->Draw();
@@ -446,7 +445,7 @@ void cTVGuideOSD::CloseDetailedView(void) {
epgGrid->Activate();
epgGrid->Flush();
if (recMenuView->Active()) {
- recMenuView->Activate();
+ recMenuView->Activate(true);
recMenuView->Flush();
}
}