From c607bfac6feb6bb915f3133a5c70ba871f5112ed Mon Sep 17 00:00:00 2001 From: Aidan MacDonald Date: Sun, 2 Oct 2022 12:52:49 +0100 Subject: lcd: Fix update_viewport() for non-default stride viewports Simplify update_viewport() by calling update_viewport_rect(). The resulting LCD driver calls are the same either way and for some reason, update_viewport() didn't handle non-default stride viewports correctly. Change-Id: Ic34d3d40e4f758db897cb3944d9d7475bbdb4d2c --- firmware/drivers/lcd-bitmap-common.c | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/firmware/drivers/lcd-bitmap-common.c b/firmware/drivers/lcd-bitmap-common.c index a8ecbd370d..bb98ceed8a 100644 --- a/firmware/drivers/lcd-bitmap-common.c +++ b/firmware/drivers/lcd-bitmap-common.c @@ -342,27 +342,8 @@ struct viewport* LCDFN(set_viewport)(struct viewport* vp) void LCDFN(update_viewport)(void) { - struct viewport* vp = LCDFN(current_viewport); - if ((vp->flags & VP_FLAG_OWNER_UPDATE) == VP_FLAG_OWNER_UPDATE) - { -#ifdef LOGF_ENABLE - logf("%s ignored - owner update", __func__); -#endif - return; - } - int x, y; - if (vp->buffer->stride != LCDFN(framebuffer_default.stride)) - { - x = 0; - y = 0; - } - else - { - x = vp->x; - y = vp->y; - } - LCDFN(update_rect)(x, y, vp->width, vp->height); + LCDFN(update_viewport_rect)(0, 0, vp->width, vp->height); } void LCDFN(update_viewport_rect)(int x, int y, int width, int height) -- cgit v1.2.3