summaryrefslogtreecommitdiff
path: root/osdbase.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2017-04-03 12:49:56 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2017-04-03 12:49:56 +0200
commite622854789ff8a521dc837379147b6e851d52875 (patch)
treed71cfde84e762e40d3413576e94b073afff5e2b3 /osdbase.c
parent792b9dc45fd68f6f0f0db4073982303171dbfb08 (diff)
downloadvdr-e622854789ff8a521dc837379147b6e851d52875.tar.gz
vdr-e622854789ff8a521dc837379147b6e851d52875.tar.bz2
cOsdMenu::Display() now checks whether the OSD size has changed and if so calls SetDisplayMenu()
Diffstat (limited to 'osdbase.c')
-rw-r--r--osdbase.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/osdbase.c b/osdbase.c
index 52ab240e..ac8026ff 100644
--- a/osdbase.c
+++ b/osdbase.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: osdbase.c 4.1 2015/09/10 11:23:07 kls Exp $
+ * $Id: osdbase.c 4.2 2017/04/03 12:30:52 kls Exp $
*/
#include "osdbase.h"
@@ -77,6 +77,7 @@ void cOsdObject::Show(void)
cSkinDisplayMenu *cOsdMenu::displayMenu = NULL;
int cOsdMenu::displayMenuCount = 0;
+int cOsdMenu::osdState = 0;
cOsdMenu::cOsdMenu(const char *Title, int c0, int c1, int c2, int c3, int c4)
{
@@ -96,8 +97,10 @@ cOsdMenu::cOsdMenu(const char *Title, int c0, int c1, int c2, int c3, int c4)
helpRed = helpGreen = helpYellow = helpBlue = NULL;
helpDisplayed = false;
status = NULL;
- if (!displayMenuCount++)
+ if (!displayMenuCount++) {
+ cOsdProvider::OsdSizeChanged(osdState); // to get the current state
SetDisplayMenu();
+ }
}
cOsdMenu::~cOsdMenu()
@@ -226,6 +229,8 @@ void cOsdMenu::Display(void)
subMenu->Display();
return;
}
+ if (cOsdProvider::OsdSizeChanged(osdState))
+ SetDisplayMenu();
displayMenu->SetMessage(mtStatus, NULL);
displayMenu->Clear();
cStatus::MsgOsdClear();