From 5abca436889f6331325acdeca3a8df8ca456cde2 Mon Sep 17 00:00:00 2001 From: Christian Prochaska Date: Thu, 14 Aug 2014 16:30:44 +0200 Subject: [PATCH] fb_drv: fix clipping Use the clipped coordinates for calculating the buffer addresses, too. Fixes #1227. --- repos/libports/src/drivers/framebuffer/vesa/main.cc | 4 ++-- repos/os/src/drivers/framebuffer/imx53/main.cc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/repos/libports/src/drivers/framebuffer/vesa/main.cc b/repos/libports/src/drivers/framebuffer/vesa/main.cc index a995e9289..84d9a0dbb 100644 --- a/repos/libports/src/drivers/framebuffer/vesa/main.cc +++ b/repos/libports/src/drivers/framebuffer/vesa/main.cc @@ -111,8 +111,8 @@ namespace Framebuffer { if (!bypp) return; /* copy pixels from back buffer to physical frame buffer */ - char *src = (char *)_bb_addr + bypp*(_scr_width*y + x), - *dst = (char *)_fb_addr + bypp*(_scr_width*y + x); + char *src = (char *)_bb_addr + bypp*(_scr_width*y1 + x1), + *dst = (char *)_fb_addr + bypp*(_scr_width*y1 + x1); blit(src, bypp*_scr_width, dst, bypp*_scr_width, bypp*(x2 - x1 + 1), y2 - y1 + 1); diff --git a/repos/os/src/drivers/framebuffer/imx53/main.cc b/repos/os/src/drivers/framebuffer/imx53/main.cc index ee0c1fc01..18a63d6d6 100644 --- a/repos/os/src/drivers/framebuffer/imx53/main.cc +++ b/repos/os/src/drivers/framebuffer/imx53/main.cc @@ -57,8 +57,8 @@ class Framebuffer::Session_component : int bypp = _mode.bytes_per_pixel(); /* copy pixels from back buffer to physical frame buffer */ - char *src = (char *)_bb_addr + bypp*(_mode.width()*y + x), - *dst = (char *)_fb_addr + bypp*(_mode.width()*y + x); + char *src = (char *)_bb_addr + bypp*(_mode.width()*y1 + x1), + *dst = (char *)_fb_addr + bypp*(_mode.width()*y1 + x1); blit(src, bypp*_mode.width(), dst, bypp*_mode.width(), bypp*(x2 - x1 + 1), y2 - y1 + 1);