diff options
Diffstat (limited to 'frontend/plat_sdl.c')
-rw-r--r-- | frontend/plat_sdl.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/frontend/plat_sdl.c b/frontend/plat_sdl.c index dacf584..247437e 100644 --- a/frontend/plat_sdl.c +++ b/frontend/plat_sdl.c @@ -98,6 +98,7 @@ static void get_layer_pos(int *x, int *y, int *w, int *h) void plat_init(void) { + int shadow_size; int ret; plat_sdl_quit_cb = quit_cb; @@ -110,8 +111,12 @@ void plat_init(void) in_menu = 1; SDL_WM_SetCaption("PCSX-ReARMed " REV, NULL); - shadow_fb = malloc(640 * 512 * 2); - menubg_img = malloc(640 * 512 * 2); + shadow_size = g_menuscreen_w * g_menuscreen_h * 2; + if (shadow_size < 640 * 512 * 2) + shadow_size = 640 * 512 * 2; + + shadow_fb = malloc(shadow_size); + menubg_img = malloc(shadow_size); if (shadow_fb == NULL || menubg_img == NULL) { fprintf(stderr, "OOM\n"); exit(1); |