From e622854789ff8a521dc837379147b6e851d52875 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Mon, 3 Apr 2017 12:49:56 +0200 Subject: cOsdMenu::Display() now checks whether the OSD size has changed and if so calls SetDisplayMenu() --- osdbase.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'osdbase.c') 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(); -- cgit v1.2.3