screensaver: ensure clean paint of unscaled images

Origin commit data
------------------
Branch: ni/coolstream
Commit: 2716de61f4
Author: Thilo Graf <dbt@novatux.de>
Date: 2020-02-06 (Thu, 06 Feb 2020)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
2020-02-06 00:16:06 +01:00
committed by vanhofen
parent 106db80d75
commit f1e32144fa

View File

@@ -376,7 +376,7 @@ void CScreenSaver::paint()
dprintf(DEBUG_INFO, "[CScreenSaver] %s - %d : %s\n", __func__, __LINE__, v_bg_files.at(index).c_str());
//m_frameBuffer->showFrame(v_bg_files.at(index), CFrameBuffer::SHOW_FRAME_FALLBACK_MODE_IMAGE);
//m_frameBuffer->showFrame(v_bg_files.at(index), CFrameBuffer::SHOW_FRAME_FALLBACK_MODE_IMAGE_UNSCALED);
m_viewer->ShowImage(v_bg_files.at(index).c_str(), false /*unscaled*/);
handleRadioText(g_settings.screensaver_mode_text);
@@ -416,6 +416,7 @@ void CScreenSaver::paint()
#endif
m_frameBuffer->showFrame("blackscreen.jpg", CFrameBuffer::SHOW_FRAME_FALLBACK_MODE_CALLBACK | CFrameBuffer::SHOW_FRAME_FALLBACK_MODE_BLACKSCREEN);
#endif
handleRadioText(g_settings.screensaver_mode_text);
if (scr_clock)
@@ -477,12 +478,9 @@ void CScreenSaver::handleRadioText(bool enable_paint)
if (!g_RadiotextWin)
return;
if (g_RadiotextWin->isPainted() || g_settings.screensaver_mode == SCR_MODE_IMAGE)
{
g_RadiotextWin->hide();
g_RadiotextWin->clearSavedScreen();
}
else
g_RadiotextWin->clearSavedScreen();
if (g_settings.screensaver_mode != SCR_MODE_IMAGE)
g_RadiotextWin->kill(/*COL_BLACK*/); //ensure black paintBackground before repaint
//check position and size, use only possible available screen size
@@ -504,6 +502,8 @@ void CScreenSaver::handleRadioText(bool enable_paint)
if (scr_clock)
scr_clock->cl_sl_show.unblock();
}
m_frameBuffer->OnFallbackShowFrame.connect(sigc::mem_fun(g_RadiotextWin, &CRadioTextGUI::hide));
}
void CScreenSaver::hideRadioText()