fix some issues with menu bg
authornotaz <notasas@gmail.com>
Sun, 28 Jan 2018 17:59:58 +0000 (19:59 +0200)
committernotaz <notasas@gmail.com>
Sun, 28 Jan 2018 17:59:58 +0000 (19:59 +0200)
platform/common/menu_pico.c
platform/common/plat_sdl.c
platform/libpicofe

index ab91e1c..7b0cd78 100644 (file)
@@ -73,6 +73,7 @@ static void make_bg(int no_scale)
 {
        unsigned short *src = (void *)g_menubg_src_ptr;
        int w = g_screen_width, h = g_screen_height;
+       int pp = g_screen_ppitch;
        short *dst;
        int x, y;
 
@@ -87,7 +88,7 @@ static void make_bg(int no_scale)
                d += (g_menuscreen_h / 2 - h * 2 / 2)
                        * g_menuscreen_w / 2;
                d += (g_menuscreen_w / 2 - w * 2 / 2) / 2;
-               for (y = 0; y < h; y++, src += w, d += g_menuscreen_w*2/2) {
+               for (y = 0; y < h; y++, src += pp, d += g_menuscreen_w*2/2) {
                        for (x = 0; x < w; x++) {
                                t = src[x];
                                t = ((t & 0xf79e)>>1) - ((t & 0xc618)>>3);
@@ -107,7 +108,7 @@ static void make_bg(int no_scale)
                (g_menuscreen_w / 2 - w / 2);
 
        // darken the active framebuffer
-       for (; h > 0; dst += g_menuscreen_w, src += g_screen_ppitch, h--)
+       for (; h > 0; dst += g_menuscreen_w, src += pp, h--)
                menu_darken_bg(dst, src, w, 1);
 }
 
index 3948cc4..4446f72 100644 (file)
@@ -273,7 +273,7 @@ void plat_init(void)
                shadow_size = 320 * 480 * 2;
 
        shadow_fb = malloc(shadow_size);
-       g_menubg_ptr = malloc(shadow_size);
+       g_menubg_ptr = calloc(1, shadow_size);
        if (shadow_fb == NULL || g_menubg_ptr == NULL) {
                fprintf(stderr, "OOM\n");
                exit(1);
index 2b27288..f8cd6a0 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 2b27288eb44ef9247d2a948a207d3ac9b835421a
+Subproject commit f8cd6a082bb9c228397a0436f28818b74d8e9636