[git commit master 1/1] Let fbsplash display images even when a second buffer is active

Denys Vlasenko vda.linux at googlemail.com
Sat Feb 5 02:34:52 UTC 2011


commit: http://git.busybox.net/busybox/commit/?id=07078c29663c6530e6a35b136422448c3bd6d105
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

If a previous application uses double buffering and makes the
second buffer visible, fbsplash's images (written to the first
buffer) otherwise won't be visible.

Signed-off-by: Dan Fandrich <dan at coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 miscutils/fbsplash.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/miscutils/fbsplash.c b/miscutils/fbsplash.c
index 6b84563..1509923 100644
--- a/miscutils/fbsplash.c
+++ b/miscutils/fbsplash.c
@@ -83,11 +83,14 @@ static void fb_open(const char *strfb_device)
 
 	// map the device in memory
 	G.addr = mmap(NULL,
-			G.scr_var.xres * G.scr_var.yres
+			G.scr_var.xres * G.scr_var.yres_virtual
 			* BYTES_PER_PIXEL /*(G.scr_var.bits_per_pixel / 8)*/,
 			PROT_WRITE, MAP_SHARED, fbfd, 0);
 	if (G.addr == MAP_FAILED)
 		bb_perror_msg_and_die("mmap");
+
+	// point to the start of the visible screen
+	G.addr += G.scr_var.yoffset * G.scr_fix.line_length + G.scr_var.xoffset * BYTES_PER_PIXEL;
 	close(fbfd);
 }
 
-- 
1.7.3.4



More information about the busybox-cvs mailing list