From dc2aefa7c1fc80c7a9ba3c02764638c1f364eb1c Mon Sep 17 00:00:00 2001 From: louis Date: Sun, 12 Jul 2015 09:24:58 +0200 Subject: [PATCH] fixed flickering when main menu is fading --- HISTORY | 1 + displaymenu.c | 2 +- views/displaymenurootview.c | 1 + views/displaymenuview.c | 3 +-- views/displaypluginview.c | 6 +++--- views/view.c | 3 ++- 6 files changed, 9 insertions(+), 7 deletions(-) diff --git a/HISTORY b/HISTORY index 1b9ddf7..a559ab8 100644 --- a/HISTORY +++ b/HISTORY @@ -390,3 +390,4 @@ Version 0.6.0 Version 0.6.1 - changed skinrepository from static file to github repository +- fixed flickering when main menu is fading diff --git a/displaymenu.c b/displaymenu.c index 7a48557..ea589cb 100644 --- a/displaymenu.c +++ b/displaymenu.c @@ -14,7 +14,7 @@ cSDDisplayMenu::cSDDisplayMenu(cTemplate *menuTemplate) { doOutput = false; dsyslog("skindesigner: displayMenu no valid template - aborting"); return; - } + } rootView = new cDisplayMenuRootView(menuTemplate->GetRootView()); if (!rootView->createOsd()) { doOutput = false; diff --git a/views/displaymenurootview.c b/views/displaymenurootview.c index 31007f0..ad735aa 100644 --- a/views/displaymenurootview.c +++ b/views/displaymenurootview.c @@ -6,6 +6,7 @@ #include "../libcore/helpers.h" cDisplayMenuRootView::cDisplayMenuRootView(cTemplateView *rootView) : cView(rootView) { + fadeOut = false; cat = mcUndefined; selectedPluginMainMenu = ""; sortMode = msmUnknown; diff --git a/views/displaymenuview.c b/views/displaymenuview.c index aba112f..9f732e2 100644 --- a/views/displaymenuview.c +++ b/views/displaymenuview.c @@ -10,6 +10,7 @@ cDisplayMenuView::cDisplayMenuView(cTemplateView *tmplView, bool menuInit) : cView(tmplView) { if (!menuInit) SetFadeTime(0); + fadeOut = false; cat = mcUndefined; sortMode = msmUnknown; sortModeLast = msmUnknown; @@ -283,7 +284,6 @@ cDisplayMenuMainView::cDisplayMenuMainView(cTemplateView *tmplView, bool menuIni cDisplayMenuMainView::~cDisplayMenuMainView() { CancelSave(); - FadeOut(); } void cDisplayMenuMainView::DrawStaticViewElements(void) { @@ -628,7 +628,6 @@ cDisplayMenuSchedulesView::cDisplayMenuSchedulesView(cTemplateView *tmplView, eM cDisplayMenuSchedulesView::~cDisplayMenuSchedulesView() { CancelSave(); - FadeOut(); } bool cDisplayMenuSchedulesView::DrawHeader(void) { diff --git a/views/displaypluginview.c b/views/displaypluginview.c index ba95d93..6283cda 100644 --- a/views/displaypluginview.c +++ b/views/displaypluginview.c @@ -2,6 +2,7 @@ #include "displaypluginview.h" cDisplayPluginView::cDisplayPluginView(cTemplateView *tmplView, bool isRootView) : cView(tmplView) { + fadeOut = false; init = true; tabInit = true; tabScrolled = true; @@ -281,8 +282,7 @@ void cDisplayPluginView::DrawTabLabels(void) { } void cDisplayPluginView::Action(void) { - SetInitFinished(); - FadeIn(); - DoFlush(); + if (!init) + SetFadeTime(0); cView::Action(); } \ No newline at end of file diff --git a/views/view.c b/views/view.c index c6111c5..636cefb 100644 --- a/views/view.c +++ b/views/view.c @@ -58,8 +58,9 @@ cView::~cView() { if (fadeOut) { if (IsAnimated()) ShiftOut(); - else + else { FadeOut(); + } } }