Fix display regression from c85d8e2

Basically setting a null buffer is valid but it must be selected
into a screen to initialize to the default buffer

I wrongly assumed screen type wouldn't matter but since I decided to
reference backdrops directly to the default buffer
(since they are saved as an offset from what it later assumes to be the
default framebuffer)
SCREEN_MAIN/SCREEN_REMOTE are not longer optional

Change-Id: I8a8afbbe1e3ed0bfe6abd40ce287638e9fc6da60
This commit is contained in:
William Wilgus 2020-10-28 22:55:27 -04:00
parent c7fb319151
commit c5c17fa799

View file

@ -210,8 +210,15 @@ void skin_backdrop_set_buffer(int backdrop_id, struct skin_viewport *svp)
return;
else if (backdrop_id < 0)
{
/* SCREEN_MAIN is ok here screen only matters if passed VP is NULL */
screens[SCREEN_MAIN].viewport_set_buffer(&svp->vp, NULL); /*Default*/
#if 1
/* ensure the current vp has been removed so it has to be reselected */
screens[SCREEN_MAIN].set_viewport_ex(NULL, 0);
# if defined(HAVE_REMOTE_LCD)
screens[SCREEN_REMOTE].set_viewport_ex(NULL, 0);
# endif
#endif
/* WARNING: vp-> buffer is invaid till viewport is set to a screen */
svp->vp.buffer = NULL; /*Default*/
return;
}